JAudioTagger ライブラリを使用して、音楽ファイルからメタデータを読み取ります。情報を取得することはできましたが、Tag Mapping Spec http://www.jthink.net/jaudiotagger/tagmapping.htmlを見てみました。MusicBrainz Recording ID を取得しようとしていますが、その特定の ID を選択する方法がわかりません。MP3 ファイルは ID3v23 または v24 のいずれかで、どちらかは不明です。と で検索してみUFIDましMUSICBRAINZ_TRACK_IDた。
File file = new File("09 Bleeding Out.mp3");
AudioFile mp3 = null;
try {
mp3 = AudioFileIO.read(file);
} catch (CannotReadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TagException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ReadOnlyFileException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidAudioFrameException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Tag tag = mp3.getTag();
System.out.println(tag.getFirst("UFID"));
Iterator<TagField> it = tag.getFields();
while(it.hasNext()) {
System.out.println(it.next());
}