//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;
Télécharger le zip
hmm..possible, avec le TmediaPlayer, c'est a creuser, en effet,...
ta source date un peu mais je dis un grand merci, car j'ai cherché des logiciels qui le faisaient, j'en ai trouvé pleins mais tous avec une limitation d'enregistrement de une ou deux minutes mais pas assez pour capturer ce que je voulaismerci c'est nickel :) je vais ameliorer le code pour rajouter ce que je veux en plus et ça sera aussi bien que ceux que j'ai trouvé qui sont payantmerci à toi pour cette base de travail ;)
fabiin, pourrais-tu m'indiquer où tu as trouver la doc a ce sujet, surtout pour les variables :rIdrLenwIdfIdfLen dId wSampleLengthQui ne sont pas décrites dans le SDK windows, enfin je ne les ai pas trouver. merci d'avance et beau boulot !!!
Trouvé sur internet... :-)
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 598 782 membres 51 nouveaux aujourd'hui 15 441 membres club