Einzelnen Beitrag anzeigen

dstein

Registriert seit: 28. Jul 2005
Ort: Dormagen
53 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Testprog zum feststellen wann ein Musikstück im TMediaPlayer zu Ende ist

  Alt 9. Okt 2024, 11:55
Testprog zum feststellen wann ein Musikstück im TMediaPlayer zu Ende ist.
Hierfür habe ich ein kleines Prog geschrieben, eigendlich recht simpel.
Ich frage über einen TTimer die MediaPlayer1.Position ab und wenn diese >= MediaPlayer1.Length ist
wird der etwas gemacht.. Doch hier quitscht es; die Bedingung ist erfüllt und springt in den
Proc-Teil hier sollte auch der TTimer.Enabled := False; sein. Doch scheint der weiterzulaufen und immer wieder
in dem Procteil landet so das eine Endlosschleife entsteht.
Mir gehen die Optionen aus was hier falsch läuft.
Hoffentlich kann einer von euch mich in die richtige Richtung schubsen.
Oder haut eine bessere Idee wie ich feststelle wann das Musikstück im TMediaPlayer zu Ende ist.


## Auszug... gesamter Code in der ANlage

procedure TfrmMain.TimerNotifyTimer(Sender: TObject);
const
EndTolerance = 1000; // 1 Sekunde Toleranz
begin
lbl_Pos.Caption := IntToStr(MediaPlayer1.Position);

if MediaPlayer1.Position >= (MediaPlayer1.Length-EndTolerance) then
begin
MediaPlayer1.Stop;
ShowMessage('Das Musikstück ist zu Ende.');
MediaPlayer1.Notify := False;

// Timer explizit freigeben und deaktivieren
TimerNotify.Enabled := False;
end
else
begin
MediaPlayer1.Notify := True;
end;
end;
Angehängte Dateien
Dateityp: zip MP3PlayerTest.zip (1,00 MB, 4x aufgerufen)
Dirk
- Lang ist der Weg durch Lehren, kurz und wirksam durch Beispiele.
(Seneca, röm. Dichter u. Phil., 4 v. Chr. - 65 n.Chr.) -
  Mit Zitat antworten Zitat