Einzelnen Beitrag anzeigen

TheReaper

Registriert seit: 27. Feb 2003
Ort: chemnitz
90 Beiträge
 
Delphi 2005 Personal
 
#4

Re: Bass.dll: Länge eines Chiptunes ermitteln.

  Alt 12. Okt 2005, 21:25
Gruß

So kriegt man die Zeit in Millisekunden:
Delphi-Quellcode:
Function GetSongLen : Integer;
var MilliSec : Integer; FloatPos : FLOAT;
begin
   FloatPos := BASS_ChannelBytes2Seconds(CurStream, BASS_ChannelGetLength(CurStream));
   MilliSec := Trunc(1000 * FloatPos);
   if MilliSec < 0 then MilliSec := 0;
   result := MilliSec; //für Sekunden div 1000
end;
Und so die Millisekunden in ein Zeitformat umwandeln:
Delphi-Quellcode:
Function MSecToStr(Milliseconds : Int64) : String;
var H, M, S : integer;
begin
Result:='';
Milliseconds:=trunc(Milliseconds/1000);
    H := Milliseconds div 3600;
    M := (Milliseconds mod 3600) div 60;
    S := (Milliseconds mod 3600) mod 60;

if H>0 then
            Result:=Format('%d:%2.2d:%2.2d', [H, M, S]) //HH:MM:SS
else Result:=Format('%2.2d:%2.2d', [M, S]); //MM:SS

end;
  Mit Zitat antworten Zitat