![]() |
Problem mit dem TMediaPlayer
Ich hab folgendes Problem:
Ich hab ein Video in den TMediaplayer geladen, und lass es auf einen TAnimate abspielen. Ich habe eine Trackbar, mit der ich die Position vom Video anzeigen und verändern kann:
Delphi-Quellcode:
Wenn ich jetzt die Zeitleiste verändere, dann beleibt das Video stehen. Wenn ich dann beim TMediaPlayer auf Play klicke, fängt das Video wieder von vorne an. Und wenn ich es mit dem Befehl Mediaplayer1.Play wieder starte kommt dieser Error:
procedure TForm1.ZeitleisteChange(Sender: TObject);
var i : integer; begin i := zeitleiste.position; mediaplayer1.Position := round(i); end; Zitat:
|
Re: Problem mit dem TMediaPlayer
Das das Problem daran liegt kann ich nicht sagen.
Delphi-Quellcode:
Aber einen Integer zu runden macht meines Erachtens wenig Sinn.
mediaplayer1.Position := round(i);
Grüße Klaus |
Re: Problem mit dem TMediaPlayer
Ich weiß, dass ein Integer keine Kommas hat. Aber wenn ich das nicht mache kommt immer der Fehler den ich oben gezeigt habe. Auch ohne das ich Play mache. Ich sollte vielleicht dazusagen, dass es nur bei einem Video den Fehler gibt. Die Videos sind ca. 2 St. lang aber mit Lieder(3 mins.) funzt es einwandfrei.
|
Re: Problem mit dem TMediaPlayer
Hallo,
ich werde mir das heute abend mal anschauen. Hier habe ich kein 2 Stundenvideo um das nachzustellen. Grüße Klaus |
Re: Problem mit dem TMediaPlayer
Sodele,
ein 2 Stunden Video habe ich nicht aber ich habe mir für 2 Stunden mp3 Files zusammenkopiert. Wenn Du die Trackbarposition permanent der Videoposition anpasst wird immer ein onChange Ereignis der Trackbar ausgelöst. Du hast leider nicht geschrieben wie Du die Trackbar updatetest. Bei meinem Testprojekt sieht das so aus:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin mediaplayer1.FileName:='j:\data2\mp3\bigFile.mp3'; mediaplayer1.Open; trackbar1.Max:=mediaplayer1.Length; mediaplayer1.Play; Timer1.Enabled:=true; end;
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin Trackbar1.OnChange := nil; // verhindert das Auslösen des onChange Ereignisses trackbar1.position := mediaplayer1.position; Trackbar1.OnChange := Trackbar1Change; // onChange Ereignis kann wieder ausgelöst werden end;
Delphi-Quellcode:
Dein Problem habe ich nicht nachstellen können.
procedure TForm1.TrackBar1Change(Sender: TObject);
begin Timer1.Enabled:=false; mediaplayer1.Pause; mediaplayer1.Position := trackbar1.Position;; mediaplayer1.Play; Timer1.Enabled := true; end; Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz