# ID3-taginformationen aus mp3-Datei lesen



## JPKI (4. Feb 2007)

Hi Leute,

hab folgendes Problem: Ich möchte eine Medienbibliothek für mp3-Dateien in Java schreiben.
Soweit so gut. Jetzt möchte ich jedoch auch die ID3-Taginformationen aus den Dateien lesen,
um sie zu ordnen, usw..

Das Problem sind die Header in den mp3-Dateien. Hier mal ein Ausschnitt:


```
ID3    vCOMM       deu Recorded with No23 RecorderTIT2      Behind The WheelTALB      101 Live ConcertTYER      1988TRCK   123456789TCON      EchtzeitaufnahmenUSLT   $   deu You're behind the wheel tonightTPE1    Depeche Mode
```

Das ist die erste Zeile in einer mp3-Datei. Dummerweise weiss ich ja nicht immer, ob die Einträge auch alle
gemacht wurden, d.h. es gibt auch Dateien, in denen nur Titel und Interpret drinstehen, solche, in denen gar nichts steht und solche wie oben, in denen alles steht.

Außerdem sind die Sonderzeichen zwischen den Informationen immer andere, sodass man auch mit den
indexOf(char)-Methoden von String keine Abschnitte trennen kann.

Weiss wer Rat? Eventuell eine Bibliothek zum Downloaden, die mir die Arbeit abnehmen kann?
Oder Tipps?

Bin für alles dankbar.


----------



## Gast (4. Feb 2007)

Also wenn die Headerinformationen wirklich von mp3 zu mp3 in Trennung der vers. Informationen reihenfolge etc. variieren, dann kann ich mir weniger vorstellen, das das recht einfach von einem Programm ausgelesen werden kann. (Sonst würde Google statt suchergebnisse Antworten auf Fragen liefern)

Kommen nach id3 ein paar leerzeichen oder etwas anderes das hier als leerzeichen dargestellt wird. Ich hab ne mp3 Datei mal mit einem Editor geöffnet und der zeigte mir nach dem id3 keine leerzeichen, sondern mehrere "null" bevor die nächste information kam.

Statt indexOf(char) wäre vllt. auch ein StringTokenizer möglich.

Die Trenner sollen also Sonderzeichen sein.

Geht man nun davon aus die Wirklichen Informationen seien keine Sonderzeichen, dann könnte man doch mit Regulären ausdrücken danach suchen.


----------



## JPKI (5. Feb 2007)

Danke für den Tipp mit StringTokenizer, aber ich weiss nicht, ab welchem Sonderzeichen ich Splitten soll.

Außerdem ist dann da ja auch noch die Sache mit den eventuell nicht vorhandenen Informationen,
da gibts dann ne böse Exception, wenn der StringTokenizer keine weiteren Token mehr hat. Und woher
soll ich dann wissen, welche Information ich gerade habe? Album oder doch Titel?

Weiss nicht irgendwer vielleicht ne nativ implementierte DLL oder was dergleichen, mit dem ich
zumindest von Windows aus MP3's abspielen und ID3-Informationen auslesen kann? ???:L 

Mal allgemein: Wie kann ich in Java MP3-Dateien abspielen?

Bin weiterhin für jede Hilfe dankbar.


----------



## Hilefoks (5. Feb 2007)

Das MP3 Dateiformat ist, ebenso wie alle anderen Formate, genau spezifiziert (siehe diesen Link). Diese Spezifikation lässt sich oftmals im Netz finden, es sei den das Format ist ein proprietäres Format und der Hersteller möchte keine Interoperabilität.

Mit Hilfe dieser Spezifikationen lassen sich Schnittstellen zu den Dateien herstellen. Allerdings haben solche Schnittstellen auch sicher schon andere Programmierer erstellt - um MP3-Tags zu lesen findet sich z.B. recht schnell diese im Netz http://javamusictag.sourceforge.net/index.html. Ob diese Bibliothek gut ist weiß ich allerdings nicht, - aber es gibt ganz sicher noch viele weitere alternativen.

MfG,
Hilefoks


----------



## JPKI (5. Feb 2007)

Schonmal danke im Voraus, ich hab mir alles nötige gedownloaded.
Wär jetzt nur noch für ne kurze Beschreibung für die Anwendung
dankbar, da ich noch nie eine Bibliothek von außen in meine Programme eingebunden hab.


----------



## Gast (5. Feb 2007)

da musst du dir die javadoc dazu angucken, dann benutzt du das wie jede andere Klasse auch


----------



## JPKI (5. Feb 2007)

Sorry für die dumme Frage, aber wie binde ich die Klassendateien in mein Programm ein?
Das wollt ich wissen. Außerdem: Muss ich's dem Interpreter (java.exe) übergeben oder kann
ich's auch in ner JAR-Datei benutzen?


----------



## JPKI (5. Feb 2007)

was ich auch noch gerne wissen würd: Welche Klasse und vor allem welche Methode benutze ich zum abspielen?


----------



## Gast (5. Feb 2007)

du musst die jar datei einfach nur in den classpath tun


----------



## JPKI (5. Feb 2007)

Klappt, jetzt nur noch eins: Wie spiele ich eine MP3-Datei ab?
Über java.applet.AudioClip klappt's ja nicht.


----------



## JPKI (6. Feb 2007)

Wär für ne baldige Antwort echt dankbar...


----------



## Gast (6. Feb 2007)

wenn du nicht solange warten willst recherchier mal in der boardsuche

das wurde schon 100mal gefragt und beantwortet



P.S. das geht mit JLayer oder dem JMF


----------



## JPKI (7. Feb 2007)

Danke, jetzt geht's.


----------

