Witam
od dłuższego czasu mam problem z zapisem tagu mp3. Korzystam z biblioteki Java ID3 Tag Library: http://javamusictag.sourceforge.net/
Sprawa wygląda tak:
public class Test {
static MP3File mp3file;
static File plik = new File("audio.mp3");
public static void main(String[] args) throws IOException, TagException
{
mp3file = new MP3File(plik);
TagOptionSingleton.getInstance().setDefaultSaveMode(TagConstant.MP3_FILE_SAVE_FIRST);
AbstractID3v2 tag1 = mp3file.getID3v2Tag();
System.out.println(tag1.getAlbumTitle() + " " + tag1.getSongTitle() + " " + tag1.getSongComment() + " " + tag1.getSongGenre() + " " + tag1.getAuthorComposer() + " " + tag1.getLeadArtist());
tag1.setSongComment("KOMENTARZZ");
System.out.println(tag1.getAlbumTitle() + " " + tag1.getSongTitle() + " " + tag1.getSongComment() + " " + tag1.getSongGenre() + " " + tag1.getAuthorComposer() + " " + tag1.getLeadArtist());
tag1.setSongGenre("GATUNEKK");
System.out.println(tag1.getAlbumTitle() + " " + tag1.getSongTitle() + " " + tag1.getSongComment() + " " + tag1.getSongGenre() + " " + tag1.getAuthorComposer() + " " + tag1.getLeadArtist());
mp3file.setID3v2Tag(tag1);
mp3file.save();
}
}
I dostaje z tego błąd w linii gdzie mam zapis: "mp3file.save();" :
KOMENTARZZ
KOMENTARZZ GATUNEKK
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 Test.main(Test.java:47)
Wcześniej kod był identyczny i działał, teraz pojawia się błąd - nie wiem w czym jest problem. Z tego co pisza wynika, że nie moge rzutować id3v2_3frame na id3v2_4frame, ale nie wiem jak to naprawić. Może wy wiecie? byłbym ogromnie wdzięczny.
Tak przy okazji, wiele bibliotek tj. ta którą używam - dotyczace edycji tagów mp3 jest już nie rozwijana od lat. Możecie mi podsunąć jakieś inne rozwiązanie w tej sprawie, np jakąs biblioteke napisaną w innym języku i sposób użycia jej w javie - strzelam, nie wiem czy to wgl możliwe :)
pozdrawiam!