0

我正在使用 JAudioTagger 库从我的音乐文件中读取元数据。我能够检索信息,但查看标签映射规范http://www.jthink.net/jaudiotagger/tagmapping.html。我正在尝试检索 MusicBrainz 录音 ID,但不知道如何选择那个特定的 ID。MP3 文件是 ID3v23 还是 v24,不确定是哪一个。我尝试使用UFIDand进行搜索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());
    }
4

1 回答 1

1

您可以使用FieldKey.MUSICBRAINZ_TRACK_ID- 这是录制 ID。它映射到UFID:http://musicbrainz.org一个字段,即根据 MusicBrainz 为该曲目提供 UFID 的字段。

另一种方法可能是使用TXXX:MusicBrainz Recording Id.

最后,请注意,此字段在文件中并不常见。

于 2015-08-10T09:23:04.277 回答