Einzelnen Beitrag anzeigen

Anthauri

Registriert seit: 1. Feb 2004
61 Beiträge
 
Delphi 6 Personal
 
#9

Re: bass.dll, wie möglichst schnell Ende einer Mp3 mitbekomm

  Alt 3. Jan 2007, 18:24
Wie dem auch sei,

auf jeden Fall hat die Sache mit dem Timer auch einen Haken.

Bei meinem Player hatte ich einst den TMEDIAPLAYER benutzt, der netter weise Millisekunden liefert.
Den passenden Timer hatte ich ebenfalls in Millisekunden laufen.

Nachdem ich den BassdllPlayer nutze stehen nur noch Sekunden zur verfügung.
Der Timer läuft jetzt auch im Sekundentakt.

Bei exaktem hinschauen resultiert dadurch, dass ggf. vom Song ein Teil der letzten Sekunde fehlt,
denn die Abfrage, ob die Position im Song gleich der Songlänge entspricht, trifft ja zu sobald die letzte Sekunde angebrochen ist - und wenn der Timer gerade zufällig so zyklisch getaktet ist, dass er einen kurzen Moment nach Beginn der letzen Sekunde auslöst, wird der nächtse Song aufgerufen und der Rest nicht gespielt.

Da aber die meisten Songs am Ende eh ausklingen fällt das nicht so sehr auf.
Bei Titeln, die ineinander übergehen manchmal aber schon.
Beim TMEDIAPLAYER fehlte aufgrund der schnelleren Taktung weniger.

Da aber auch andere hier ähnlich verfahren dürfte diese Aufgabe "hinreichend genau gelöst sein".
Den alten TMEDIAPLAYER würde ich deswegen nicht wieder implementieren.
  Mit Zitat antworten Zitat