Ich suche derzeit eine unkomplizierte API, um ID3-Tags (v1 und v2) zu lesen und zu schreiben. Eine gescheite hab ich noch nicht gefunden :-/
Zur Zeit hab ich Jid3
Auslesen mache ich damit derzeit so:
try {
mp3 = new MP3File(file);
} catch (Exception e) {
OnException.invoke(e);
continue loop;
}
ID3V2Tag id3v2;
ID3V1Tag id3v1;
try {
id3v2 = mp3.getID3V2Tag();
id3v1 = mp3.getID3V1Tag();
} catch (ID3Exception e1) {
OnException.invoke(e1);
continue loop;
}
if (id3v2 == null) {
id3v2 = new ID3V2_3_0Tag();
}
if (id3v1 == null) {
id3v1 = new ID3V1_1Tag();
}
// get information
String artist = "";
artist = id3v2.getArtist();
if (artist == null) {
artist = id3v1.getArtist();
}```
und Verändern:
```artist = p.getArtist();
id3v2.setArtist(artist);
id3v1.setArtist(artist);
mp3.sync();```
Leider funktioniert das Auslesen nicht immer und der untere Codeschnipsel bewirkt gar nichts...
Vorher hatte ich [Java Mp3](http://www.vdheide.de/java_mp3/) probiert, da ging das Auslesen gut (und einfacher), aber das Verändern hab ich nicht gecheckt, und so wie ich es gemacht habe hab ich die Dateien immer kaputtgemacht. (Edit: Doch, das geht, ich muss ja die Objekte aus zeilen 18 und 21 noch setten. Bringt aber nix, der soll das Alte schon auslesen können :/)
Kennt jemand ne gescheite API oder kann mir jemand eine der beiden APIs da erklären wie die funktionieren? :)