Salut Cirec,
Voila, je souhaite capturer un son avec un micro. Pour cela j'utilise mciSendString comme ceci :
mciSendString('close all', nil, 0, 0); // Fermeture (au cas où)
mciSendString('open new type waveaudio alias capture', nil, 0, 0); // Ouverture du périphérique MCI
mciSendString('seek capture to start', nil, 0, 0); // Préparation de la capture
mciSendString('set capture samplespersec 44100', nil, 0, 0); // Qualité du son
mciSendString(PChar('set capture bitspersample ' ) , nil, 0, 0);
mciSendString('set capture channels 2', nil, 0, 0); // Nombre de canaux
mciSendString('record capture', nil, 0, 0);
En fait le son est mis en mémoire à ce stade. Ensuite on le sauvegarde sur un fichier comme ceci :
mciSendString(PChar('save capture "c:\test.wav"'), nil, 0, 0); // Enregistrement
mciSendString('stop capture', nil, 0, 0);
mciSendString('close capture', nil, 0, 0);
Moi je ne veux pas passer par un enregistrement sur le HD.
Je souhaite faire :
mciSendString('seek capture to start', nil, 0, 0); // Préparation de la capture
mciSendString('set capture samplespersec 44100', nil, 0, 0); // Qualité du son
mciSendString(PChar('set capture bitspersample ' ) , nil, 0, 0);
mciSendString('set capture channels 2', nil, 0, 0); // Nombre de canaux
mciSendString('record capture', nil, 0, 0);
Puis récupérer le son en mémoire dans un TMemorystream. J'ai fais différentes tentatives et rien ne fonctionne. Si tu as une idée elle est la bienvenue.
Merci A+ :)