Hallo,
ich will eine TMediaPlayer-Komponente in Delphi verwenden und eine MP3-Datei in einer Schleife fortlaufend abspielen. Dafür habe ich das OnNotify-Ereignis-des MediaPlayers erweitert, so dass beim Auftreten dieses Ereignisses (was i.d.R. nach dem Abspielvorgang geschieht) der Titel erneut abgespielt wird:
Delphi-Quellcode:
PROCEDURE TMainForm.Play;
BEGIN
MediaPlayerTestFile.Enabled:=True;
MediaPlayerTestFile.Filename:='TEST.MP3';
MediaPlayerTestFile.Open;
MediaPlayerTestFile.Play;
END;
PROCEDURE TMainForm.MediaPlayerTestFileNotify(Sender: TObject);
BEGIN
MediaPlayerTestFile.Play;
END;
PROCEDURE TMainForm.Stop;
BEGIN
MediaPlayerTestFile.Stop;
MediaPlayerTestFile.Enabled:=False;
END;
Das funktioniert soweit auch ganz gut, aber ich erhalte eine 5-Sekunden Pause zwischen den einzelnen Abspielvorgängen, obwohl die MP3-Datei nur ca. 1,5 MByte groß ist. Kann man diese Pause irgendwie auf ein Minimum reduzieren ?
Und die 2. damit zusammenhängende Frage lautet, ob man mit der TMediaPlayer-Komponente eine Art Faqde-In und Fade-Out hinbekommen kann, etwa mit jeweils 3 Sekunden ? Ich hatte hier versuicht, die Laufstärke einzeln zu erhöhen und zu senken, das hat aber nicht ganz funktioniert bzw. Windows erlaubt keine Lautstärkeänderungen in so kurzer Zeit. Die Bass.dll wollte ich eigentlich nicht verwenden, um beide Ziele zu erreichen...
Woran kanns liegen ?