Hallo Forum,
ich baue gerade eine Studio-Uhr, die die Laufzeit der Player anzeigt.
Ich habe 2 Playlisten von denen aber nur die 1. relevant ist.
Die Zeit soll von beiden Playern angezeigt werden und vom aktiven
runterzählen genauso wie im Studio.
Für das Anzeigen der Zeit, wenn der Player nicht läuft habe ich folgenden Code verwendet:
procedure OnPlayerStateChange(PlaylistIndex: integer; PlayerIndex: integer; OldState: TPlayerState; NewState: TPlayerState; Item: IPlaylistItem);
begin
if (PlayerIndex = 0) and (PlaylistIndex = 0) then begin
Case Newstate Of
psLoaded: begin
ComPort('COM2').SendStr(' Loaded Player A' + #13#10);
ComPort('COM2').SendStr(Item.GetArtist + ' - ' + Item.GetTitle + ' ' + FormatDateTime('hh:mm:ss', (Item.GetDuration/10000000)/(24*60*60)));
end;
end;
end;
if (PlayerIndex = 1) and (PlaylistIndex = 0) then begin
Case Newstate Of
psLoaded: begin
ComPort('COM2').SendStr(' Loaded Player B' + #13#10);
ComPort('COM2').SendStr(Item.GetArtist + ' - ' + Item.GetTitle);
end;
end;
end;
Und für das Spielen ansich starte ich einen Timer mit folgendem Code
procedure OnTimer;
var
i: integer;
pi: IPlaylistItem;
begin
pi:=CurrentPlaylist.GetItem(0);
ComPort('COM2').SendStr('RESET1' + #13#10);
ComPort('COM2').SendStr((' ' + FormatDateTime('hh:mm:ss', (pi.GetDuration/10000000)/(24*60*60))));
end;
Aber egal, was ich probiere es wird immer 00:00:00 ausgegeben. Was mache ich falsch?
Danke für eure Hilfe,
Michael