![]() |
Mikrofon benutzen
hi
ich möchte mittls mikrofon sound aufnehmen dann speichern , abspielen ich habs schon mit mci probiert und folgenden code verwendet:
Code:
allerdings geht es nicht procedure TFormMain.RecordClick(Sender: TObject); begin mciSendString('OPEN NEW TYPE WAVEAUDIO ALIAS mysound',nil,0,handle); mciSendString('SET mysound TIME FORMAT MS ' + // Zeitformat 'BITSPERSAMPLE 16 ' + // 16 Bit 'CHANNELS 2 ' + // Stereo 'SAMPLESPERSEC 22050 ' + // Frequenz (Hz) 'BYTESPERSEC 22050 ', // 22050 Bytes/s nil, 0, handle); mciSendString('RECORD mysound', nil, 0, handle); end; wie kann ich denn prüfen ob überhaupt ein device geöffnet wurde bzw aufgenommen wird? gibt es noch andere möglichkeiten mittels mikro aufzunehmen? (ist das überhaupt die richtige methode? :?: ) bitte helft mir! mfg mandumoal |
Re: Mikrofon benutzen
Versuchs mal damit, sollte eigentlich klappen
Code:
MfG
mciSendString('OPEN NEW TYPE WAVEAUDIO ALIAS mySound',nil,0,Handle);
mciSendString('SET mySound ' + 'TIME FORMAT MS ' + 'BITSPERSAMPLE 16 ' + 'CHANNELS 2 ' + 'SAMPLESPERSEC 44100 ' + 'BYTESPERSEC 176400 ' + 'ALIGNMENT 4', nil,0,handle); mciSendString('RECORD mySound',nil,0,Handle); //Abspielen das Soundes sndPlaySound(MS.Memory, SND_MEMORY or SND_SYNC); MS.Free; //Beenden und speichern der Aufnahme mciSendString('STOP mySound',nil,0,Handle); mciSendString(PChar('SAVE mySound '+ aufnahme),nil,0,Handle); mciSendString('CLOSE mySound',nil,0,Handle); |
AW: Mikrofon benutzen
Hallo Ihr, bin grad dabei eine Spezielle Spezial Wave Datei zu erzeugen, die aber mit jeder Sekunde eine neue Frequenz hat (also Hochläuft) um eine PulsweitenModulation zu simulieren..
und beim Suchen nach etwas bin ich hier hingestoßen und möchte mal für alle (Anfänger) was grundsätzliches schreiben: mciSendString('SET mysound TIME FORMAT MS ' + // Zeitformat 'BITSPERSAMPLE 16 ' + // 16 Bit 'CHANNELS 2 ' + // Stereo 'SAMPLESPERSEC 22050 ' + // Frequenz (Hz) ----->>>> 'BYTESPERSEC 22050 ', // 22050 Bytes/s nil, 0, handle); An der mit ----->>>> markierten Stelle passieren die meisten Fehler, denn diese Zahl ist sehr einfach auszurechnen, aber auch korrekt anzugeben... Die Bytes/Sekunde die durch den Stream laufen müssen, sind Abtastfrequenz x (Mono (1) oder Stereo (2)) x Bytes/Sample (ist bei 16 Bit = 2) Also ergibt sich bei o.a. Beispiel 22050 * 2 * 2 = 88200 BytesperSecond Hoffe Neueinsteigern einen kleinen Verständigungs-Tipp gegeben zu haben LG Michael |
AW: Mikrofon benutzen
Nur dass der Beitrag von 2003 ist und man heute lieber mit BASS arbeiten sollte. Aber du hast recht, wer sich mit dem Rohformat von WAVE Daten auseinandersetzt und einen Header erstellen muss, könnte darüber stolpern. :P
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz