Entwickler-Ecke
Multimedia / Grafik - Länge und Position des Liedes im TMediaPlayer
Arakis - So 28.07.02 14:42
Titel: Länge und Position des Liedes im TMediaPlayer
Hi

,
ich hab ja mal das Programm
DockPlayer [
http://www.auq.de/viewtopic.php?t=66] geschrieben, das im Hintergrund einen TMediaPlayer nutzt. Nun muss ich aber ordnungsgemäß die Länge des Liedes herausfinden und wann es zu ende ist. Ich hab einfach mal die nicht so schöne art gelöst
Quelltext
1: 2: 3: 4: 5:
| //Intervall = 1000 procedure TForm1.Timer1Timer(Sender: TObject); begin if MediaPlayer1.Length:=self.MediaPlayer1.Position then myplayer.next; end; |
Funktioniert ganz prima, aber wenn ich komprimierte Waves habe oder MIDI-Dateien abspiele, stimmt die Länge und Position gar nicht mehr, ist zu kurz dargestellt. Dies hat auch zur Folge, dass mein Fortschrittsbalken viel zu früh am ende ist. Hat einer eine Lösung, wie man ordnungsgemäß die Länge und Position eines Liedes herausbekommt?
Bis dann
Renegade - Do 15.08.02 15:39
Moin erstmal!
Ich meine das ich dazu mal was gelesen habe. Wenn ich das richtig im Kopf habe mußt du das Lied ersteinmal bis zum Ende "vorspulen" und dann wieder an den Anfang setzen und dann die Länge berechnen.
Gruß Renegade
Arakis - Do 15.08.02 16:55
n'Abend Regenerade
(Moin erstmal =

) :wink:
Müsst ich nachher mal ausprobieren. Das mit dem Vorsprulen, dass nimmt doch Zeit in Anspurch oder? Es geht mir vor allem um eine saubere Lösung(halbwegs sauber tut auch). Ich hab irgendwo mal ein Bespiel gesehen, in dem
TMediaPlayer1.TimeFormat = tfFrames verwendet wurde. Vielleicht ist das die Lösung.
Bis dann
ao - Do 15.08.02 17:27
Hallo Arakis,
also, damit nach Ende eines Liedes das nächste gespielt wird kannst du auch folgende procedure für das OnNotify-Ereignis des MediaPlayers benutzen:
Quelltext
1: 2: 3: 4:
| procedure TForm1.MediaPlayer1Notify(Sender: TObject); begin if MediaPlayer1.Position >= MediaPlayer1.Length-1 then MediaPlayer1.Next; end; |
Das "größer-gleich" und die "-1" musste ich einbauen, weil er sonst ab und zu hängengeblieben ist, k.A. warum. :?
Für deine Fortschrittsanzeige weiß ich leider momentan auch keine "allround-Lösung". :(
Gruß
Andreas
Renegade - Fr 16.08.02 09:09
Moin erstmal! :D
Arakis hat folgendes geschrieben: |
Das mit dem Vorsprulen, dass nimmt doch Zeit in Anspurch oder?
|
Ja dem ist so! Das ist vor allem dann ärgerlich, wenn man "saubere" Übergänge braucht.
Arakis hat folgendes geschrieben: |
Quelltext 1:
| TMediaPlayer1.TimeFormat = tfFrames | |
Jetzt wo dus schreibst - habe ich auch schon gesehen. Das klingt sehr vielversprechend. Muß ich gleich mal proggen.
Gruß Renegade
PS: Woher zur Hölle hast du diese genialen Gifs?[/quote]
Arakis - Fr 16.08.02 09:18
Hi Renegade,
Renegade hat folgendes geschrieben: |
PS: Woher zur Hölle hast du diese genialen Gifs? |
http://www.plauder-smilies.de/ :D
oder du nimmst die Smilies auf meiner HP, das Inhaltverzeichnis der des Ordners kann ich dir ja schicken :roll:
Da du gerade Lust hast die Sache zu analysieren, wäre ich dir sehr dankbar, wenn du dir mal den
Dockplayer [
http://dateien.desk-work.de/programme/dockplayer/DockPlayer_zip.exe] genauer unter die Lupe nehmen würdest. Dafür brauche ich das nämlich. Wenn ich MIDI-Dateien oder komprimierte Waves öffne, dann stimmt die Fortschrittsanzeige nämlich nicht mehr. Ich selbst habe momentan nur sehr wenig Zeit :(
Bis dann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!