# jid3lib - ID3v2 Tags auslesen



## grX (22. Februar 2006)

moin moin, hat vlt. wer ne Ahnung wie ma mit jid3lib id3v2 tags ausliest?
v1 war ja eh ganz leicht ^^, aber v2 check ich irgendwie net so ganz 

hab die Lib von http://javamusictag.sourceforge.net/

vlt, gibts ja auch ne "Bessere" sprich, leichter erlernbare Lib ^^
naja, dann ma thx im vorraus =)


```
package id3TagReader;
import java.io.*;
import org.farng.mp3.*;
import org.farng.mp3.id3.*;

public class Mp3o {
	private File path;			//The Path of the Files
	private String artist;		//Artistsname
	private String album;		//Albumname
	private String year;		//Releaseyear
	private String genre;		//Genre of the Album
	private double size;		//Size of the whole Album
	private double length;		//Length of the whole Album
	private short count;
	
	public Mp3o(String inpath) {
		this.path=new File(inpath);		
		if(path.exists()) {			
			this.size=0;
			this.length=0;
		}
		count=1;
	}
		
	public void incSize(double inSize) {
		this.size+=inSize;
	}
	public void incLength(double inLength) {
		this.length+=inLength;
	}
	public void incCount() {
		this.count++;
	}
	public File getPath() {
		return path;
	}
		
	public static void doIt(String inPath) throws IOException, TagException {
		Mp3o testfile=new Mp3o(inPath);			
		for ( File subdir : testfile.getPath().listFiles()) {			
			 if(subdir.isDirectory())
				 doIt(subdir.getAbsolutePath());
			 else {
				 String item=subdir.getAbsolutePath();				 
				 if(item.endsWith(".mp3")) {
					item=item.replace("\\","\\\\");	
					 MP3File mp3=new MP3File(item);	
					 if (mp3.hasID3v2Tag()) {	
						 AbstractID3v2 tagv2=mp3.getID3v2Tag();						
						System.out.println(tagv2.toString());					     
					}
					 else if(mp3.hasID3v1Tag()) {	
						 ID3v1 tagv1=mp3.getID3v1Tag();
						 System.out.println(tagv1.getArtist()+", "+tagv1.getAlbum());						 
						 System.out.println(tagv1.getYear()+", "+tagv1.getGenre());						 
					 }
					 else {	//If there r no tags in the file
						 
					 }
				 }			 
			 }
		}
	}
	
	/**
	 * @param args
	 * @throws TagException 
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException, TagException {		
		doIt("F:\\www\\Programmieren\\PHP\\mp3GetIt\\music");
	}

}
```


----------



## jdanmayr (3. Mai 2007)

Hallo

MP3File mp3file = new MP3File ("C:/lied.mp3);


public String getInterpret()
{
  String text = "";
  if (mp3file.hasID3v2Tag() == true)
  {
     text = this.mp3file.getID3v2Tag().getLeadArtist();
  }
  return text;
}

Ich hoffe es hat geholfen


----------



## zerix (3. Mai 2007)

Hallo,

ich denke ja mal, dass du einen ganzen Player schreibst. Darf ich fragen welche Api du nutzt zum Abspielen der MP3s?

MFG

zEriX


----------



## Flo<H> (4. Mai 2007)

Hallo!
Musste erst vor kurzer Zeit selber Id3v2-Tags auslesen. Habe das die JAudioTagger-Lib hergenommen. Falls du diese verwenden möchtest und Hilfe dabei brauchst kann ich gerne helfen. Mittlerweile kenn ich mich damit recht gut aus  
Falls jemand ne Lib zum Abspielen sucht sollte hier schauen. Hab ich aber noch nicht getestet.
mfg flo


----------



## zerix (4. Mai 2007)

> Falls jemand ne Lib zum Abspielen sucht sollte hier schauen.



Auf der Seite war ich und hab mir auch einiges runtergeladen. Was ich von der Seite empfehlen kann ist der BasicPlayer. Der ist einfach zu handhaben und bringt zum Abspielen eigentlich alles mit was man braucht.

MFG

zEriX


----------



## jdanmayr (4. Mai 2007)

*Apic*

Hallo

Ja,i ch bastle mir gerade einen kleinen ID3-Tag editor. Dazu verwende ich die Gratis libary >jid3lib<. Die funktioniert soweit ganz gut und ist sehr einfach handzuhabenl. Leider habe ich Probleme einen APIC header auszulesen und in ein Bild umzuwandeln bzw. ein Bild zu schreiben.
Hat von euch bereits jemand Erfahrung im Schreiben / Lesen des APIC headers gemacht?


----------



## jdanmayr (4. Mai 2007)

Hallo
Ich verwende javaZoom >http://www.javazoom.net/index.shtml<
Ist sehr gut dokumentiert.


----------

