Einzelnen Beitrag anzeigen

Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: mp3 starten, stoppen und Ende erkennen

  Alt 30. Okt 2006, 01:31
Zitat von papabaer:
Ich vermute, dann hast du aber einen Timer verwendet, der regelmäßig die Position abfragt. Hat dies keine Auswirkungen auf die Performance?
Ganz falsch vermutet.
Denn der Mediaplayer führt das Notify-Event aus wenn ein Lied zu ende ist (unter anderem).
So muss man nur abfragen, ob das Lied wirklich zu ende ist, oder ein anderes Ereignis geschehen ist (bspw. Player gestoppt).
Daher braucht man keinen Timer (obwohl es damit auch geht) sondern muss den Code lediglich in's Notify-Ereignis schreiben.

Zitat von EWeiss:
mpStopped wird wenn überhaupt nur ausgelößt wenn der Song zu ende ist oder ?

Also benötigst du in einem Timer die abfrage
(MPlayer.Position >= MPlayer.Length)

wenn die bedingung erfüllt ist .. erst dann ist mpStopped = True

Ist mpStopped keine Message dann mußt du den mode erst zuweisen.
if (MPlayer.Position >= MPlayer.Length) then mpStopped = True

gruß
Afaik wird TMEdiaPlayer.Mode auf mpStopped gesetzt, wenn man die Prozedur TMediaplayer.Stop ausführt.
Manuell setzen braucht man es nicht.
Und dann könnte man genausogut das Fenster durch den Timer schließen lassen.
Aber ich habe oben ja schon eine andere Möglichkeit genannt.
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat