.WAV - Jak na bieżąco zapisywać do pliku .wav.

0

Jak na bieżąco zapisywać do pliku wav.

Używam komponentu MediaPlayer z zakładki System.
Oto część kodu :

procedure TForm1.StartClick(Sender: TObject);
begin
        NowyWav(kan,bit,czes,nazwa_pliku);
        
        MediaPlayer1.FileName:=nazwa_pliku;
        MediaPlayer1.Open;
        MediaPlayer1.Wait:=false;
        MediaPlayer1.StartRecording;
end;

procedure TForm1.StopClick(Sender: TObject);
begin
        MediaPlayer1.Stop;
        MediaPlayer1.Save;
        MediaPlayer1.Close;
end; 

Tworze nowy plik na dysku (ma rozmiar 1KB) i rozpoczynam nagrywanie.
W czasie nagrywania jego rozmiar się nie zmienia. Plik jest zapisywany dopiero po skończeniu nagrywania, chciałbym aby zapisywał się w trakcie nagrywania (na bieżąco).

Mam nadzieję, że jasno opisałem mój problem.

0

Nie wiem czy tego próbowałeś... ;)
Spróbuj dodać w OnTimer

 ;) 
begin
MediaPlayer1.Save; 
Application.ProcessMessages;
end;

//Interval ustaw na 10000
0

Próbowałem, ale

MediaPlayer1.Save;

zatrzymuje nagrywanie , trzeba później wywołać procedura MediaPlayer1.StartRecording;

 a takie rozwiązanie powoduje trzaski i przerwy w nagranym pliku wav. :(

Może ktoś zna jakieś inne rozwiązanie, fragmenty kodu , komponenty , cokolwiek. 

Byłbym niezmiernie wdzięczny.  :)

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