Hallo,
ich bin gerade dabei ein Programm zu schreiben, das mir eine MP3-Datei nach dem Titel und dem Interpret benennt. Mein Problem ist, dass ich mit folgendem Code ID3v2.3-Tags annähernd fehlerfrei auslesen kann, aber ich bei Dateien mit einem ID3v2.4-Tag einen Error bekomme.
Das Programm habe ich jetzt nur auf das Wesentliche gekürzt, bei dem der Fehler auftritt:
Der Error bei einer Datei mit ID3v2.4-Tag:
Exception in thread "main" java.lang.ClassCastException: org.farng.mp3.id3.ID3v2_3Frame cannot be cast to org.farng.mp3.id3.ID3v2_4Frame
at org.farng.mp3.id3.ID3v2_4.write(Unknown Source)
at org.farng.mp3.MP3File.save(Unknown Source)
at org.farng.mp3.MP3File.save(Unknown Source)
at Test1.main(Test1.java:25)
Noch ein paar Sachen die ich festellen konnte:
iTunes kann mir einen Interpret und einen Titel anzeigen, wobei ich bei der Ausgabe mit
einen leeren String bekomme.
Die Datei wird mit jedem Run größer, und es entsteht immer noch eine .orginal-Datei.
Nach mehreren Versuchen hab ich gemerkt, dass die Datei nur noch bis ca Sekunde 10 abspielbar ist.
Die Libary die ich verwendet habe ist jid3lib von Java ID3 Tag Library.
Ich arbeite mit Eclipse Indigo auf Win7 Prof.
Kennt sich jmd mit der Libary aus? Oder hab ich einfach nur etwas kleines übersehen?
Ich hoffe mir kann jmd helfen.
Danke
Kaniee
ich bin gerade dabei ein Programm zu schreiben, das mir eine MP3-Datei nach dem Titel und dem Interpret benennt. Mein Problem ist, dass ich mit folgendem Code ID3v2.3-Tags annähernd fehlerfrei auslesen kann, aber ich bei Dateien mit einem ID3v2.4-Tag einen Error bekomme.
Das Programm habe ich jetzt nur auf das Wesentliche gekürzt, bei dem der Fehler auftritt:
Java:
public static void main(String[] args) {
MP3File mp3file = null;
AbstractID3v2 id3v2tag;
File mp3File = new File(Pfad);
try {
mp3file = new MP3File(mp3File);
} catch (IOException e) {
e.printStackTrace();
} catch (TagException e) {
e.printStackTrace();
}
id3v2tag = mp3file.getID3v2Tag();
System.out.println(id3v2tag.getSongTitle());
id3v2tag.setSongTitle("Neuer Titel");
try {
mp3file.save(Pfad);
} catch (IOException e) {
e.printStackTrace();
} catch (TagException e) {
e.printStackTrace();
}
System.out.println(id3v2tag.getSongTitle());
}
Der Error bei einer Datei mit ID3v2.4-Tag:
Exception in thread "main" java.lang.ClassCastException: org.farng.mp3.id3.ID3v2_3Frame cannot be cast to org.farng.mp3.id3.ID3v2_4Frame
at org.farng.mp3.id3.ID3v2_4.write(Unknown Source)
at org.farng.mp3.MP3File.save(Unknown Source)
at org.farng.mp3.MP3File.save(Unknown Source)
at Test1.main(Test1.java:25)
Noch ein paar Sachen die ich festellen konnte:
iTunes kann mir einen Interpret und einen Titel anzeigen, wobei ich bei der Ausgabe mit
Java:
System.out.println(id3v2tag.getSongTitle());
Die Datei wird mit jedem Run größer, und es entsteht immer noch eine .orginal-Datei.
Nach mehreren Versuchen hab ich gemerkt, dass die Datei nur noch bis ca Sekunde 10 abspielbar ist.
Die Libary die ich verwendet habe ist jid3lib von Java ID3 Tag Library.
Ich arbeite mit Eclipse Indigo auf Win7 Prof.
Kennt sich jmd mit der Libary aus? Oder hab ich einfach nur etwas kleines übersehen?
Ich hoffe mir kann jmd helfen.
Danke
Kaniee