如何使用 Java MP3 ID3 标签库检索专辑插图

2022-09-03 00:33:03

我正在制作一个mp3播放器。我正在使用Java mp3 id3标签库。据我所知,专辑封面被编码为ID3v2标签。

我可以访问mp3文件的ID3v2标签,但是我无法获得艺术品! 在API中的AbstractID3v2类中,没有一个方法似乎检索图片。

如何使用这个库?


答案 1

我最终使用了另一个库,我使用了mp3agic

这是一个很棒的库,易于使用。以下是我用来获取专辑插图的示例代码

Mp3File song = new Mp3File(filename);
if (song.hasId3v2Tag()){
     ID3v2 id3v2tag = song.getId3v2Tag();
     byte[] imageData = id3v2tag.getAlbumImage();
     //converting the bytes to an image
     BufferedImage img = ImageIO.read(new ByteArrayInputStream(imageData));
}

答案 2

还有Jaudiotagger可以读/写Mp3,Mp4(Mp4音频,M4a和M4p音频)Ogg Vorbis,Flac和Wma +其他一些(专辑封面)。

MP3File f = (Mp3File)AudioFileIO.read(testFile);
List<Artwork> artworkList;
if (f.hasID3v1Tag()) {
    ID3v1Tag v1tag = f.getID3v1Tag();
    artworkList = (List<Artwork>) v1tag.getArtworkList();
    /* ... */
}

推荐