Entwickler-Ecke

Sonstiges (Delphi) - Spiellänge einer mp3datei in Sekunden anzeigen


JJ - Mi 21.01.04 19:04
Titel: Spiellänge einer mp3datei in Sekunden anzeigen
Spiellänge einer mp3datei in Sekunden anzeigen....
Kann mir einer von euch sagen wie man das macht?
sollte dann nachher in nem editfenster stehen


Chatfix - Mi 21.01.04 19:24

Hab das hier in der Hilfe (MediaPlayer1.Length) gefunden, vielleicht hilft dir das ja weiter:

Zitat:
In diesem Beispiel wird ein HMSRec-Record mit vier Byte-Feldern deklariert. Wenn TimeFormat den Wert tfHMS hat, gibt das erste Feld die Stunden, das zweite die Minuten und das dritte die Sekunden an. Das vierte Feld entspricht dem ungenutzten signifikantesten Byte des tfHMS-Zeitformats. Der Typ einer LongInt-Variablen wird in einen HMSRec-Record umgewandelt. Danach werden die Stunden, Minuten und Sekunden der Dauer des geladenen Mediums in Beschriftungen angezeigt, wenn der Benutzer auf eine Schaltfläche klickt.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
type

  HMSRec = record
    Hours: byte;
    Minutes: byte;
    Seconds: byte;
    NotUsed: byte;

  end;

procedure TForm1.Button1Click(Sender: TObject);

var
  TheLength: LongInt;
begin

  { Zeitformat festlegen, tfHMS wird von manchen Geräten nicht unterstützt }

  MediaPlayer1.TimeFormat := tfHMS;
  { Länge des geladenen Mediums speichern }
  TheLength := MediaPlayer1.Length;
  with HMSRec(TheLength) do { TheLength in HMSRec-Record umwandeln }
  begin
    Label1.Caption := IntToStr(Hours); { Stunden in Label1 anzeigen }
    Label2.Caption := IntToStr(Minutes); { Minuten in Label2 anzeigen }
    Label3.Caption := IntToStr(Seconds); { Sekunden in Label3 anzeigen }
  end;
end;


Gausi - Mi 21.01.04 19:28

Und wenn du ohne den Mediaplayer arbeiten willst, dann guck mal da nach:

http://www.delphi-forum.de/viewtopic.php?t=16228

Die Prozedur ist zwar etwas lang, aber dafür werden auch direkt id3Tags ausgelesen, und: es wird auch die Länge bei mp3s mit variabler Bitrate korrekt berechnet. Die Dauer steht am Ende in MpegInfo.Dauer


JJ - Sa 24.01.04 21:05

Danke Leute! :D