nagrywanie mikrofonu

0

kto wie jak nagrać źwięk z mikrofonu nie używając komponentów?

0

Szukaj. Było!

0

zapomniałem dodać chidz mi żeby było bez basa i dllki a tego już na forum nie było :)

0

PS. a jaki prosty komponent do tego polecacie (pytam się bo jest kilka ale który najlepiej nagrywa)

0

Było bez bass'a i żadnych DLL, czyste WinAPI. Po co aż komponent do takiej prostej rzeczy?

0

Szczawik chodziło ci o to co podał cimak? Czy może masz jeszcze jakiś inny przykład?
PS. Dzięki cimak :)

Przepraszam że piszę 2 posty pod sobą ale nie mogłem edytować.
Mam taką procedurę jak cimak podał:

procedure recordfile(filename:pchar;milisec:dword);
var
wDeviceID:integer;
openp:MCI_OPEN_PARMS;
recordp:MCI_RECORD_PARMS;
savep:MCI_SAVE_PARMS;
begin
// ustawiamy typ urządzenia
openp.lpstrDeviceType:='waveaudio';
openp.lpstrElementName:='';
// otwieramy urządzenie
mciSendCommand(0,MCI_OPEN,MCI_OPEN_ELEMENT or MCI_OPEN_TYPE,DWORD(@openp));
// pobieramy identyfikator urządzenia
wDeviceID:=openp.wDeviceID;
// długość pliku
recordp.dwTo:=milisec;
// zaczynamy nagrywanie
mciSendCommand(wDeviceID,MCI_RECORD,MCI_TO or MCI_WAIT,DWORD(@recordp));
// zapisujemy plik
savep.lpFileName:=filename;
mciSendCommand(wDeviceID,MCI_SAVE,MCI_SAVE_FILE or MCI_WAIT,DWORD(@savep));
end;

Lecz podczas nagrywania (milices dałem na 20 sek czyli 20000) cały program się zawiesza... Da się to zmienić w tej procedurze?

0

rzeczywiście... u mnie też się zawiesza jak nagrywa...

0

Zapewne trzeba nagrywać w oddzielnym wątku.

0

Powiedziałeś że możesz użyć łatwego komponentu. Proponuje TMediaplayer. Nagrywanie odbywa się szybko i w łatwy sposób :-)

0

hmm... ze tak pozwole soebie sie wkleic do watku :]. Z ciekawosci:

da rade nagrywac jednoczesnie z, powiedzmy 4 zrodel? Oczywiscie do roznych plikow, przykladowo jeden wejscie mic z jednej karty dzwiekowej, drugi z drugiej, trzeci z line-in na karcie dzwiekowej (mam takie w 486 ;)) a czwarty z karty TV i jednoczesnie na glosniki leci muzyka z winampa

0

nie wiem co źle robię ale MediaPlayer nie nagrywa mi mikrofonu...

0

Tutaj masz kod:

Rozpoczęcie zapisu:

MediaPlayer1.FileName := 'C:\record.wav';
MediaPlayer1.Open;
MediaPlayer1.StartRecording;

Zakończenie zapisu + zapis do pliku:

MediaPlayer1.Stop;
MediaPlayer1.Save;

Pamiętaj aby na początku utworzyctan plik :-)

0

eee.... czy mi sie wydaje, czy...:
niby skad mediaplayer ma wiedziec, z ktorego zrodla ma nagrywac?

1 użytkowników online, w tym zalogowanych: 0, gości: 1