How to use the Java MP3 ID3 Tag Library to retrieve album artwork

此生再无相见时 提交于 2019-12-03 07:58:34

问题


I'm making an mp3 player. I'm using the Java mp3 id3 tag library. I understand that album artwork is encoded as a ID3v2 tag.

I can access the ID3v2 tag of a mp3 file however I cannot get the artwork! None of the methods in the AbstractID3v2 class, in the API seem to retrieve a picture.

How does one use this library?


回答1:


I ended up using another library, I used mp3agic

It's a great library which is easy to use. Here's sample code I used to get the album artwork

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:


There's also Jaudiotagger which can read/write Mp3, Mp4 (Mp4 audio, M4a and M4p audio) Ogg Vorbis, Flac and Wma + some others (album art too).

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


来源:https://stackoverflow.com/questions/14728621/how-to-use-the-java-mp3-id3-tag-library-to-retrieve-album-artwork

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!