Wie bekomme ich die bereits abgelaufene Spielzeit eines spielenden Players heraus?
UPDATE, DA FALSCH GELESEN IM URSPRUNG!
Die Position bekommt man so:
FormatDateTime('hh:nn:ss.zzz', Playlist(X).GetPlayer(X).GetSource.GetPosition/86400)
Die Gesamtzeit bekommt man so:
Ende des Titels (Cue):
FormatDateTime('hh:nn:ss.zzz', pi.GetCuePosition(ptCueOut)/86400)
Spiellänge des Elements
FormatTimeValue('hh:nn:ss.zzz', false, pi.GetAudibleDuration)
Jetzt müsste man nur von der Gesamtlänge die Position abziehen. z.B. so
FormatDateTime('hh:nn:ss.zzz', Spiellänge/Cue - Position)
Mit den Formatierungen mĂĽsste man halt noch herumspielen, aber so in etwa sollte man ein Ergebnis erhalten.
@Tondose Wenn mich nicht alles täuscht, einfach mit der Maus auf die laufende Zeit im Player klicken und schon wechselt die Zeitanzeige.
@Peter_Schmidt: Danke, aber ich brauche den Wert zum Skripten. Hätte ich vielleicht sagen sollen.
@PatRick1996: Nochmal danke! Das könnte es sein, was ich suche.
In der Sache richtig, wenn es das Playout betrifft.
Nun hat Tondose dich ja schon darauf hingewiesen dass es hier um Scripte geht. Vermutlich deshalb hat er es auch in das zutreffende Unterforum “Scripts” geposted.
Tja, @UliNobbe ich hab nun schon ne Gleitsichtbrille, aber mir ist das Unterforum “Scripts” irgendwie nicht vor die Pupille gekommen…
Ich glaub, ich muss mal den Augenarzt wieder aufsuchen…
Der versteht auch nichts von Scripting.
Vorsicht, wenn der Player nicht geladen ist, liefert GetSource
den Wert nil
(Nullpointer) zurĂĽck, und es gibt eine Access Violation. Lieber in einer Variable zwischenspeichern und ĂĽberprĂĽfen:
var
src: IAudioSource;
begin
src := Playlist(0).GetPlayer(0).GetSource;
if src <> nil then begin
// ab hier ist safe
FormatDateTime('hh:nn:ss.zzz', src.GetPosition/86400)
end;
end;
Danke fĂĽr diesen wertvollen Tip!