Hallo Nils,
wenn du die Sekundenbruchteile nicht vorher mittels Trunc() ins Nirwana schicken würdest, dann könntest du es so machen:
Delphi-Quellcode:
function TfrmMain.GetSongLengthAsString: String;
var
fLength: Double;
iMinutes, iSeconds: Cardinal;
begin
if Modus = moSamples
then fLength := BASS_ChannelBytes2Seconds(Chan, BASS_ChannelGetPosition(Chan))
else fLength := BASS_ChannelBytes2Seconds(Chan, BASS_ChannelGetLength(Chan));
iSeconds := Trunc(fLength) mod 60;
iMinutes := Trunc(fLength) div 60;
Result := Format('%.2d:%.2d.%.1f', [iMinutes, iSeconds, Frac(fLength)]);
end;
Getippt und nicht getestet.
Grüße vom marabu