Sorry wenn ich noch mal nerve und fragen muss. Hänge jetzt gut 2 Stunden nur an diesem Problem und komme nicht weiter. Ich möchte noch einen Playerzustand abarbeiten. Nämlich “Pause”. Hatte diesbezüglich auch hier was im Forum gefunden, es entsprechend eingepflegt aber er schreibt nur den “else Zustand” nicht aber den “if Zustand”. Hast du ne Idee wo ich hier einen Fehler habe? Hier mal das was ich dazu benutze. In der *.txt steht also nur 0, nie aber 1 obwohl der OldState stimmt, darum auch extra zur Kontrolle unten der Systemlog.
function StateToString(iState: TPlayerState): string;
begin
case iState of
//psEmpty: Result := 'Empty';
//psLoading: Result := 'Loading';
psLoaded: Result := 'Loaded';
psPlaying: Result := 'Playing';
//psFading: Result := 'Fading';
//psEOF: Result := 'EOF';
//psError: Result := 'Error';
psPaused: Result := 'Paused';
//psStopped: Result := 'Stopped';
else
Result := IntToStr(ord(iState));
end;
end;
procedure OnPlayerStateChange(PlaylistIndex: integer; PlayerIndex: integer; OldState: TPlayerState; NewState: TPlayerState; Item: IPlaylistItem);
begin
if (StateToString(OldState) = 'Loaded') then
begin
Breaks := '1';
end
else
Begin
Breaks := '0';
SystemLog('Player ' + IntToStr(PlayerIndex) + ' old: ' + StateToString(OldState) + ', new: ' + StateToString(NewState));
end;
end;