- //Voici la fonction:
- procedure CreateWav(channels : word; resolution : word; rate : longint; fn : string);
- type
- TWavHeader = record
- rId : longint;
- rLen : longint;
- wId : longint;
- fId : longint;
- fLen : longint;
- wFormatTag : word;
- nChannels : word;
- nSamplesPerSec : longint;
- nAvgBytesPerSec : longint;
- nBlockAlign : word;
- wBitsPerSample : word;
- dId : longint;
- wSampleLength : longint;
- end;
- var
- wf : file of TWavHeader;
- wh : TWavHeader;
- begin
- wh.rId := $46464952;
- wh.rLen := 36;
- wh.wId := $45564157;
- wh.fId := $20746d66;
- wh.fLen := 16;
- wh.wFormatTag := 1;
- wh.nChannels := channels;
- wh.nSamplesPerSec := rate;
- wh.nAvgBytesPerSec := channels*rate*(resolution div 8);
- wh.nBlockAlign := channels*(resolution div 8);
- wh.wBitsPerSample := resolution;
- wh.dId := $61746164;
- wh.wSampleLength := 0;
-
- assignfile(wf,fn);
- rewrite(wf);
- write(wf,wh);
- closefile(wf);
- end;
-
- //Exemple d'utilisation:
- CreateWav(2,16,44100,'C:\Test.wav');
-
- //Pour demarrer l'enregistrement:
- MediaPlayer1.DeviceType := dtAutoSelect;
- MediaPlayer1.FileName := 'C:\Test.wav';
- MediaPlayer1.Open;
- MediaPlayer1.StartRecording;
-
- //Pour arrêter
- MediaPlayer1.Stop;
- MediaPlayer1.Save;
- MediaPlayer1.Close;
//Voici la fonction:
procedure CreateWav(channels : word; resolution : word; rate : longint; fn : string);
type
TWavHeader = record
rId : longint;
rLen : longint;
wId : longint;
fId : longint;
fLen : longint;
wFormatTag : word;
nChannels : word;
nSamplesPerSec : longint;
nAvgBytesPerSec : longint;
nBlockAlign : word;
wBitsPerSample : word;
dId : longint;
wSampleLength : longint;
end;
var
wf : file of TWavHeader;
wh : TWavHeader;
begin
wh.rId := $46464952;
wh.rLen := 36;
wh.wId := $45564157;
wh.fId := $20746d66;
wh.fLen := 16;
wh.wFormatTag := 1;
wh.nChannels := channels;
wh.nSamplesPerSec := rate;
wh.nAvgBytesPerSec := channels*rate*(resolution div 8);
wh.nBlockAlign := channels*(resolution div 8);
wh.wBitsPerSample := resolution;
wh.dId := $61746164;
wh.wSampleLength := 0;
assignfile(wf,fn);
rewrite(wf);
write(wf,wh);
closefile(wf);
end;
//Exemple d'utilisation:
CreateWav(2,16,44100,'C:\Test.wav');
//Pour demarrer l'enregistrement:
MediaPlayer1.DeviceType := dtAutoSelect;
MediaPlayer1.FileName := 'C:\Test.wav';
MediaPlayer1.Open;
MediaPlayer1.StartRecording;
//Pour arrêter
MediaPlayer1.Stop;
MediaPlayer1.Save;
MediaPlayer1.Close;