![]() |
MediaPlayer Stockt
Hi,
habe mal wieder ein Problem. Habe eine Trackbar, einen Mediaplayer und einen Timer. In dem Timer habe ich stehen, dass die Trackbar die Position des MediaPlayers annhemen soll.
Delphi-Quellcode:
der Intervall steht auf einer Sekunde. Wenn die Bar umspringt, dann stockt das Lied kurz und geht dann weiter. Warum?
Trackbar1.Position:=MediaPLayer1.Position;
|
Re: MediaPlayer Stockt
Ich weiß jetzt nicht genau wieso, aber probier's doch mal mit einer Variable, wo du den Zustand reinschreibst. Etwa so:
Delphi-Quellcode:
Position:=MediaPLayer1.Position;
Trackbar1.Position:=Position; |
Re: MediaPlayer Stockt
Hast du evtl. im TrackBar OnChange etwas drinstehen?
Denn während dem Abspielen wird das OnChange der TB ja aufgerufen? :gruebel: |
Re: MediaPlayer Stockt
Hier habe ich in der DP noch was gefunden, vieleicht hilft's dir ja.
Das hat himitsu ![]()
Delphi-Quellcode:
{Timer1.Interval := 300;}
{TrackBar1.Max := MediaPlayer1.Length div 1000;} Procedure TForm1.Timer1Timer(Sender: TObject); Begin (* TrackBar-Position an die MediaPlayer-Position anpassen *) TrackBar1.Position := MediaPlayer1.Position div 1000; End; Procedure TForm1.TrackBar1Change(Sender: TObject); Var TBP, MPP: Integer; Begin TBP := TrackBar1.Position; MPP := MediaPlayer1.Position div 1000; (* MediaPlayer-Position an die TrackBar-Position anpassen, * * wenn der Unterschied grösser als 2 Sekunden ist *) If ABS(TBP - MPP) > 2 Then MediaPlayer1.Position := TBP * 1000; End; |
Re: MediaPlayer Stockt
Du hast mit Sicherheit auch noch sowas:
Im OnChange der TrackBar:
Delphi-Quellcode:
Der Timer ändert die TrackBar, dadurch wird wieder die Mediaplayer position verschoben (und zwar um mindestens einen Frame zurück), ... . :mrgreen:
MediaPlayer.Position := TrackBar.Value;
Totale Simpellösung wäre:
Delphi-Quellcode:
p.s.: Warum bist du eigentlich von DSPack auf TMediaPlayer zurückgewechselt :?: :shock:
Trackbar1.OnChange := nil;
Trackbar1.Position:=MediaPLayer1.Position; Trackbar1.OnChange := TrackBarChange; Edit: Ich war wohl wieder zu lahm.... :shock: |
Re: MediaPlayer Stockt
Danke für die vielen Antworten. Das hört sich gut an. So wird es auch sein. Werde es mal testen. Doch was ist bitte DSPack?
|
Re: MediaPlayer Stockt
:gruebel:
Dann habe ich dich wohl mit einer anderen DPse verwechselt.... DSPack ist eine Kapselung von DirectShow in visuelle & nicht-visuelle Komponenten. Im Endeffekt kann man damit das machen, was der TMediaplayer nicht wirklich kann: Mediendateien abspielen :mrgreen: Einfach mal bei SourceForge suchen... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:37 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-2025 by Thomas Breitkreuz