我正在使用JAudioTagger库从我的音乐文件中读取元数据。我能够检索信息,但是查看了标签映射规范http://www.jthink.net/jaudiotagger/tagmapping.html。我正在尝试检索MusicBrainz录制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());
}发布于 2015-08-10 17:23:04
你可以使用FieldKey.MUSICBRAINZ_TRACK_ID -这是录制ID。它映射到UFID:http://musicbrainz.org,也就是根据MusicBrainz给出这个曲目的UFID的字段。
另一种方法可能是使用TXXX:MusicBrainz Recording Id。
最后,请注意,此字段在文件中并不常见。
https://stackoverflow.com/questions/27435339
复制相似问题