Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi TMediaPlayer: Pause zwischen Loop-Play sowie Fade-In/Out ? (https://www.delphipraxis.net/104168-tmediaplayer-pause-zwischen-loop-play-sowie-fade-out.html)

devidespe 28. Nov 2007 15:21


TMediaPlayer: Pause zwischen Loop-Play sowie Fade-In/Out ?
 
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 ?

Nuclear-Ping 28. Nov 2007 15:48

Re: TMediaPlayer: Pause zwischen Loop-Play sowie Fade-In/Out
 
Und warum verwendest du nicht nur BASS ohne den MP?

devidespe 28. Nov 2007 15:54

Re: TMediaPlayer: Pause zwischen Loop-Play sowie Fade-In/Out
 
Ich wollte vermeiden, extra eine eigene DLL mitgeben zu müssen - wie es bei der Bass-Komponente ja der Fall wäre.

Die Frage ist, ob sich die Abspielpause mit der TMediaPlayer-Komponente vermeiden lässt, sowie ein Fade realisieren lässt, oder ob ich wirklich auf die Bass.dll zurückgreifen muss ?

gmc616 28. Nov 2007 16:07

Re: TMediaPlayer: Pause zwischen Loop-Play sowie Fade-In/Out
 
Eine Dll willst du nicht mitgeben, dich aber darauf verlassen, dass der MS-MediaPlayer installiert ist? :?

Ein FadeOut und FadeIn habe ich mit dem TMediaPlayer auch nicht hingekriegt. Ich glaube das geht garnicht.
Eine Abspielpause ist mir in meinen Bastel-Projekten mit dem TMediaPlayer nicht aufgefallen :gruebel:

vlt. etwas mehr Source ??

Ich glaube mich zu erinnern, dass der TMediaPlayer ein Loop-Property hat, bin mir aber nicht sicher.

In den TMediaPlayer habe keine weitere Zeit reingesteckt, denn mit BassDLL läuft mein Player bestens.
Würde ich auch dir empfehlen.

devidespe 28. Nov 2007 16:14

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

Zitat von gmc616
Eine Dll willst du nicht mitgeben, dich aber darauf verlassen, dass der MS-MediaPlayer installiert ist? :?

Meines Erachtens muss der Microsoft MediaPlayer nicht installiert sein, um die Komponente TMediaPlayer verwenden zu können.

Zitat:

Zitat von gmc616
Ich glaube mich zu erinnern, dass der TMediaPlayer ein Loop-Property hat, bin mir aber nicht sicher.

Danach habe ich auch schon gesucht, aber nichts gefunden.

Es sieht wohl danach aus, dass ich an der Bass.dll nicht vorbeikomme. Die DLL muss ich dann in Kauf nehmen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz