Einzelnen Beitrag anzeigen

devidespe

Registriert seit: 7. Sep 2006
Ort: Berlin
434 Beiträge
 
Delphi 10.4 Sydney
 
#1

TMediaPlayer: Pause zwischen Loop-Play sowie Fade-In/Out ?

  Alt 28. Nov 2007, 15:21
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 ?
Devid
  Mit Zitat antworten Zitat