首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Java MP3 ID3标记库检索专辑插图

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

Stack Overflow用户
提问于 2013-02-06 20:02:08
回答 3查看 27.4K关注 0票数 17

我在做一个mp3播放器。我在用 Java mp3 id3 tag library。我知道专辑图片被编码为一个ID3v2标签。

我可以访问mp3文件的ID3v2标签,但是我无法获取图片!在 API中,AbstractID3v2类中的方法似乎都不能检索图片。

如何使用这个库?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-07 18:55:36

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

这是一个非常好用的库。下面是我用来获取专辑插图的示例代码

代码语言:javascript
复制
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));
}
票数 28
EN

Stack Overflow用户

发布于 2014-01-31 20:16:11

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

代码语言:javascript
复制
MP3File f = (Mp3File)AudioFileIO.read(testFile);
List<Artwork> artworkList;
if (f.hasID3v1Tag()) {
    ID3v1Tag v1tag = f.getID3v1Tag();
    artworkList = (List<Artwork>) v1tag.getArtworkList();
    /* ... */
}
票数 3
EN

Stack Overflow用户

发布于 2020-07-18 23:38:46

你可以使用mp3agic来做这件事,这是另一种方式!

在这里获取Jar:https://jar-download.com/artifacts/com.mpatric/mp3agic/0.9.0/source-code

代码语言:javascript
复制
Mp3File mp3file = new Mp3File("SomeMp3File.mp3");
if (mp3file.hasId3v2Tag()) {
   ID3v2 id3v2Tag = mp3file.getId3v2Tag();
   byte[] imageData = id3v2Tag.getAlbumImage();
}

if (imageData != null) {
   String mimeType = id3v2Tag.getAlbumImageMimeType();
   RandomAccessFile file = new RandomAccessFile("album-artwork", "rw");
   file.write(data);
   file.close();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14728621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档