Forum: Multimedia
Delphi
by himitsu,
29. Okt 2003
Nach deinen bisherigen Beispielen sah es so aus, als wenn die Minuten und Stunden vorher schon mal berechnet werden, aber wenn diese erst an dieser Stelle berechnet werden, versuchs mal hiermit:
{normal}
{Sekunden := mediaplayer1.Position div 1000;}
If not (Sender = BitBtn3) Then Begin
Sekunden := mediaplayer1.Position div 1000;
Sekunden := Sekunden + 1;
End;
Minuten := Sekunden...
Forum: Multimedia
Delphi
by himitsu,
29. Okt 2003
Der Teil mit dem hochrechnen der Minuten/Stunden stimmt so, ist jedenfalls kein fehler drin.
Ich lösse das jedoch so, falls mal Sekunden grosser als 60 ist:If Sekunden >= 60 Then Begin
Inc(Minuten, Sekunden div 60);
Sekunden := Sekunden mod 60;
End;
If Minuten >= 60 Then Begin
Inc(Stunden, Minuten div 60);
Minuten := Minuten mod 60;
End;Inc(X, Y); entspricht X := X + Y;
So kann...
Forum: Multimedia
Delphi
by himitsu,
28. Okt 2003
Hab den Code auch noch mal getestet.
Und da war rein zufällig mal MediaPlayer1.TimeFormat = tfFrames.
Als ich aber nach dem öffnen der Datei das auf tfMilliseconds geändert hab ging es.MediaPlayer1.TimeFormat := tfMilliseconds;
Was du aber sonst meinst (1 & 2) verstehe ich nicht so richtig, ist aber auch schon spät.
Geht es aber in diese Richtung?
{Var Minuten, Sekunden: Integer;}
Var...
Forum: Multimedia
Delphi
by himitsu,
28. Okt 2003
Du hast doch nicht überall die 1000 geändert?
Der Faktor von 1000 ist schon richtig, nur das der Timer öffters die Position abfragen sollte.
:zwinker: Ein Timer mit 1 Sekunde Interval läuft erfahrungsgemäß nicht genau 1 Sekunde, so das ab und zu mal eine untergeht. Es ist schwer zwei Timer (Timer1 und MediaPlayer1) zu syncronisieren, so das sie gleich laufen.
{Timer1.Interval := 300;}...
Forum: Multimedia
Delphi
by himitsu,
28. Okt 2003
Der umrechnungsfaktor ist schon 1000.
Kann es aber sein, das der Refrech für deine Anzeige der Zeit bei 1 Sekunde liegt?
Wenn ja, versuche es mal mit wenniger. (0,3 oder 0,8 ... 0,9 Sekunden)
Ich nehme meistens 300 Millisekunden, da bei grösseren Werten zwar jede Sekunde angezeigt wrd, aber die Uhr dann unrund zu laufen scheint. (versuchs mal mit 950, dann siehst du was ich meine)