Einzelnen Beitrag anzeigen

Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#22

Re: DSPack : Länge von Lied vor Abspielen herausbekommen

  Alt 19. Feb 2007, 15:04
Ok, schön. Aber irgendwie gibt es immer Probleme:
Delphi-Quellcode:
var i : Double;
begin
  i := GetMediaLength('E:\asd.avi');
  ShowMessage('Länge: ' + FloatToStr(i) + ' Sekunden');
Dann soll das natürlich noch verwandelt werden. Dies soll mit folgender Prozedur geschehen, aber wie ?
Delphi-Quellcode:
function TfrmMain.DurationMinSec(Sekunden : Integer) : String;
var Hour, Min, Sec : Integer;
begin
  Hour := Sekunden div 1440;
  dec(Sekunden, Hour*1440);
  Min := Sekunden div 60;
  Sec := Sekunden - Min * 60;
  if Boolean(Hour) then
    Result := Format('%d:%.2d:%.2d', [Hour, Min, Sec])
  else
    Result := Format('%.2d:%.2d', [Min, Sec]);
end;
*** EDIT ***
Zwar nicht gerade elegant, aber es funktioniert:
Delphi-Quellcode:
procedure TfrmMain.b1Click(Sender: TObject);
var s : String;
    i : Integer;
    p : Integer;
begin
  s := FloatToStr(GetMediaLength('<<<Pfad+Dateiname>>>'));
  p := Pos(',', s);
  if not p <= -1 then
  begin
    s := Copy(s, 0, p-1);
    s := DurationMinSec(StrToInt(s));
  end;

  ShowMessage(s);
end;

function TfrmMain.DurationMinSec(Sekunden : Integer) : String;
var Hour, Min, Sec : Integer;
begin
  Hour := Sekunden div 1440;
  dec(Sekunden, Hour*1440);
  Min := Sekunden div 60;
  Sec := Sekunden - Min * 60;
  if Boolean(Hour) then
    Result := Format('%d:%.2d:%.2d', [Hour, Min, Sec])
  else
    Result := Format('%.2d:%.2d', [Min, Sec]);
end;
Ich werde noch ein wenig rumtesten, aber bedanke mich hiermit schonmal bei allen Benutzern, welche in diesem Thread gepostet haben ! Es funktioniert endlich
  Mit Zitat antworten Zitat