9.) Und zum Abschluss nun den ganzen Code in einem Stück:
Delphi-Quellcode:
//==============================================================================
// OnClick-Event des Buttons zum Starten der Aufnahme
procedure TFormMain.ButtonAufnahmeStartenClick(Sender: TObject);
begin
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);
end;
//==============================================================================
// OnClick-Event des Buttons zum Beenden und Speichern der Aufnahme.
procedure TFormMain.ButtonAufnahmeAnhaltenClick(Sender: TObject);
begin
mciSendString('
STOP mySound',
nil,0,
Handle);
mciSendString('
SAVE mySound "c:\datei.wav"',
nil,0,
Handle);
mciSendString('
CLOSE mySound',
nil,0,
Handle);
end;
//==============================================================================
Wie man sieht, ist das Aufnehmen eigentlich super-einfach.
10.) Anmerkung (aus eigener Erfahrung)
- Man sollte verhindern, dass der Benutzer das Programm beenden kann, während die Aufnahme läuft.
- Die Umwandlung nach Mp3 sollte man in extra-Threads auslagern, damit gleich wieder mit der Aufnahme begonnen werden kann und nicht erst auf die MP3 gewartet werden muss. (Und auch hier gilt: Das Programm sollte nicht beendet werden solange der Thread noch läuft; aber das eklärt sich ja von selbst.)
11.) Bye