Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Wie kann ich die Dauer aus einer mp3-Datei auslesen? (https://www.delphipraxis.net/33974-wie-kann-ich-die-dauer-aus-einer-mp3-datei-auslesen.html)

100nF 15. Nov 2004 18:39


Wie kann ich die Dauer aus einer mp3-Datei auslesen?
 
hi,

also ich denke, viel muss ich nicht mehr schreiben, denn der titel beinhaltet eigentlich schon alles...

ich arbeite nämlich an einem mp3Player, der selbstverständlich mp3-dateien abspielen kann. aber zuerst muss ich die informationen aus der datei bekommen, was ich mit der function FillID3TagInformation auch kann. man kann jedoch die dauer des tracks nicht auslesen.

Meine Frage: ist es irgendwie möglich, die dauer eines mp3Files auszulesen?

hier noch die function:

Delphi-Quellcode:
procedure FillID3TagInformation(mp3File:string; Title,Artist,Album,Year,Genre,Comment:TEdit);
begin
  fmp3:=TFileStream.Create(mp3File, fmOpenRead);
  try
    fmp3.position:=fmp3.size-128;
    fmp3.Read(ID3,SizeOf(ID3));
  finally
    fmp3.free;
  end;
           
 if ID3.Tag <> 'TAG' then begin
   Title.Text:='Unbekannt';
   Artist.Text:='Unbekannt';
   Album.Text:='Unbekannt';
   Year.Text:='Unbekannt';
   Genre.Text:='Unbekannt';
   Comment.Text:='Unbekannt';
 end else begin
   Title.Text:=ID3.Title;
   Artist.Text:=ID3.Artist;
   Album.Text:=ID3.Album;

   if ID3.Genre in [0..MaxID3Genre] then
     Genre.Text:=ID3Genre[ID3.Genre]
   else
     Genre.Text:=IntToStr(ID3.Genre);
   Comment.Text:=ID3.Comment
 end;

end;

himitsu 15. Nov 2004 18:44

Re: Wie kann ich die Dauer aus einer mp3-Datei auslesen?
 
Die dauer steht auch nicht in den ID3-Tags, sondern im Dateiheader.


Such dort http://www.wotsit.org/ nach mp3 und schau dir mal die Dateispezifikation an, dann findest du schon die richtigen Byts, wo das drinseht.

SirThornberry 15. Nov 2004 19:23

Re: Wie kann ich die Dauer aus einer mp3-Datei auslesen?
 
Die dauer steht auch nicht im Dateiheader (zumindest nicht zwangsläufig und richtig) sondern wird aus Bitrate etc. errechnet, deswegen müssen dateien mit variabler bitrate im normalfall auch erst gescannt werden um die genaue Länge zu ermitteln.

Neutral General 15. Nov 2004 19:29

Re: Wie kann ich die Dauer aus einer mp3-Datei auslesen?
 
man kann die Länge der MP3-Datei doch mit dem TMediaplayer auslesen !

SirThornberry 15. Nov 2004 19:30

Re: Wie kann ich die Dauer aus einer mp3-Datei auslesen?
 
Und der TMediaplayer wird intern nix anderes machen :wink:

CalganX 15. Nov 2004 20:02

Re: Wie kann ich die Dauer aus einer mp3-Datei auslesen?
 
Hi urbanbruhin,
ich wollte dich nur einmal direkt daraufhinweisen. ;)
Die Sparte "Neue Beiträge für die Code-Library" ist nur für Tipps und Tricks gedacht, die in unsere Code-Library aufgenommen werden soll. Fragen sollen in die verschiedenen Sparten des öffentlichen Forum gepostet werden (in der Übersicht unter Programmieren mit Delphi). :)

Ich habe das jetzt mal gerade erklärt, weil bisher jeder deiner Beiträge dort gelandet war. ;)

Chris

100nF 16. Nov 2004 14:04

Re: Wie kann ich die Dauer aus einer mp3-Datei auslesen?
 
also erstens mal entschuldigung, hab ich gar nicht bemerkt das meine frage hier am falschen ort sind(bin halt noch nicht lanhe hier)

und zweitens konnte ich dieses problem mit dem tmediaplayer lösen

vielen dank

Airblader 16. Nov 2004 15:11

Re: Wie kann ich die Dauer aus einer mp3-Datei auslesen?
 
auf swissdelphicenter gibts sowas auch bei den programmier-tips...eifnach mal suchen :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz