Hi,
ich habe mir
http://www.swissdelphicenter.ch/de/showcode.php?id=132 durchgelesen. Außerdem noch das Buch "Das große
Win32 API Band 4". Beide Varianten habe ich probiert. Nun habe ich eine kleine Wave-Datei mit Winamp abgespielt und mein Progrämmchen in Bewegung gesetzt und nach der Aufnahme alles wiedergegeben. Ich hab es zwar gehört - jedoch stimmt die Qualität nicht ganz! Ich höre mehr rauschen als Musik und leise war es auch! Code:
Delphi-Quellcode:
// Record:
procedure TForm1.ToolButton7Click(Sender: TObject);
begin
mciSendString('
OPEN NEW TYPE WAVEAUDIO ALIAS mysound',
nil, 0,
Handle);
mciSendString('
SET mysound TIME FORMAT MS',
nil, 0,
Handle);
mciSendString('
RECORD mysound',
nil, 0,
Handle);
TrackBar1.Max := 0;
Timer1.Enabled := true;
{ Enabled wurde am Anfang auf False gesetzt }
end;
// Timer:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
TrackBar1.Max := TrackBar1.Max + 1;
end;
// Stop:
procedure TForm1.ToolButton9Click(Sender: TObject);
begin
TrackBar1.Visible := True;
Timer1.Enabled := False;
try
mciSendString(PChar('
stop mysound'),
nil, 0,
Handle);
except
ShowMessage('
Fehler!');
end;
end;
// Play:
procedure TForm1.ToolButton8Click(Sender: TObject);
begin
try
mciSendString(PChar('
play mysound from 0 to '+IntToStr(TrackBar1.Max * 1000)),
nil, 0, 0);
except
ShowMessage('
Fehler!');
end;
end;
Was muss ich machen, damit ich eine gute Qualität habe? So eine, wie ich auch bei z. B. Audacity habe, wenn ich Sounds aufnehme?
EDIT: Hab's:
'BITSPERSAMPLE 16 ' + // 16 Bit
'CHANNELS 1 ' + // MONO
'SAMPLESPERSEC 44125 ' + // 44 KHz
'BYTESPERSEC 88250', // 8000 Bytes/s