Hallöchen, ich würde gerne mal wissen ob dies Funktioniert… das man die abgelaufende Titel Spielzeit in ein .txt speichern kann die sich auch dann jede Sek. aktualisiert. Gibt es sowas als Skript für Mairlist? Version 6 habe ich.
Jetzt ja:
const
PFAD = 'C:\path\to\file\';
DATEI = 'Spieldauer.txt';
var
pi: IPlaylistItem;
sl: IStrings;
src: IAudioSource;
procedure WriteText(Text: string);
begin
sl := Factory.CreateStrings;
sl.Add(Text);
sl.SaveToFile(PFAD + DATEI);
end;
procedure OnTimer;
begin
src := CurrentPlaylist.GetPlayer(CurrentPlaylist.GetPlayerOfItem(pi)).
GetSource;
if src <> nil then
WriteText(FormatDateTime('nn:ss', src.GetPosition / 86400));
end;
procedure OnPlayerStart(PlaylistIndex: integer; PlayerIndex: integer;
Item: IPlaylistItem);
begin
pi := Item;
EnableTimer(1000);
end;
procedure OnPlayerStop(PlaylistIndex: integer; PlayerIndex: integer;
Duration: TTimeValue; Item: IPlaylistItem);
begin
if Item = pi then
DisableTimer;
end;
begin
end.
3 Likes
Dankeschön, wie kann man das mit der abgelaufende Zeit machen? das ist ja jetzt er Zählt hoch
Ach so, hab ich übersehen. Kommt.
Ich danke dir für die Hilfe!
Zum Abwärtszählen ersetze den entsprechenden Abschnitt durch:
procedure OnTimer;
begin
src := CurrentPlaylist.GetPlayer(CurrentPlaylist.GetPlayerOfItem(pi)).
GetSource;
if src <> nil then
WriteText(FormatDateTime('nn:ss', (pi.GetEffectivePlaybackDuration -
src.GetPosition) / 86400));
end;
Du weißt aber schon, daß jede Sekunde die Datei überschrieben wird und Du entsprechend Probleme beim Zugriff bekommen könntest. Nur mal so der Vollständigkeit halber.
Darf man fragen, was mit dem Vorhaben erreicht werden soll?
Ich probiere es einfach aus. Danke dir
Ich möchte dies in OBS mit einbinden.
1 Like
Klappt einwandfrei, keine Probleme.
1 Like