hi...
Sicher ist das Thema hier schon etwas älter
Trotzdem habe ich mir auch schon darüber gedanken gemacht und habe das Problem wie folgt gelöst (vielleicht interessiert es ja jemanden:
Delphi-Quellcode:
var
Form1: TForm1;
SetNewPos: Boolean;
{...}
Ich verwende einen Timer mit Delay: 300 ms.
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
IF Mediaplayer1.Mode = mpplaying then
begin
Trackbar1.Enabled:=true; {ist im Objektinstpektor auf "false"
damit keine Fehlermeldungen erscheinen,
wenn keine Datei geladen ist und man versucht
die Trackbar zu bewegen}
Trackbar1.Max:= Mediaplayer1.Length;
Trackbar1.Position:= Mediaplayer1.Position;
end else
begin
Trackbar1.Enabled:=false;
Trackbar1.Max:= 0;
Trackbar1.Position:= 0; //sieht besser aus
end;
end;
und dann noch der Code für die Trackbar:
Delphi-Quellcode:
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
if csLButtonDown in TrackBar1.ControlState then
begin
timer1.Enabled:=false;
SetNewPos := True;
end;
if SetNewPos then begin
if not (csLButtonDown in TrackBar1.ControlState) then
begin
MediaPlayer1.Position := TrackBar1.Position;
MediaPlayer1.Play;
SetNewPos := False;
timer1.Enabled:=true;
end;
end;
end;
Naja ist sicher nichts Weltbewegendes, aber es geht....
Fiel Fergnügen
beatles..