Aktuelle Spieldauer

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.

2 Likes

@Tondose Wenn mich nicht alles täuscht, einfach mit der Maus auf die laufende Zeit im Player klicken und schon wechselt die Zeitanzeige.

1 Like

@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.

2 Likes

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. :wink:

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… :rofl::rofl::rofl:

Der versteht auch nichts von Scripting. :grin:

5 Likes

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;
2 Likes

Danke fĂĽr diesen wertvollen Tip!

1 Like