Da in den meisten Playern nen Timer Läuft, zum anzeigen der Zeit würd ich mal behaupten, so eignet sich hier nen Timer wohl hervoragend.
Ich habs damals bei mir auch per Timer gemacht...
Mein Source ist aber recht alt also nicht wundern.
Delphi-Quellcode:
var
playtime : float;
songpos : int64;
titellaenge : float;
songlength : int64;
songlength := BASS_streamgetlength(chan);
Titellaenge := BASS_channelbytes2seconds(chan, songlength);
songpos := BASS_channelgetposition(chan);
playtime := BASS_channelbytes2seconds(chan, songpos);
if iniTimerender = 0 then
begin
label_timer.Caption := formatdatetime('hh:nn:ss', (titellaenge - playtime) / (24 * 60 * 60));
image_remain.Visible := true;
end;
if iniTimerender = 1 then
begin
label_timer.Caption := formatdatetime('hh:nn:ss', playtime / (24 * 60 * 60));
image_remain.Visible := false;
end;
if songlength - songpos = 0 then spielmodus := 'next';
Spielmodus := 'next'; lädt den nächsten Track, da die Zeit ja bei 0 ist also Track Ende...