web-dev-qa-db-ja.com

Java MP3 ID3タグライブラリを使用してアルバムアートワークを取得する方法

私はmp3プレーヤーを作っています。 Java mp3 id3タグライブラリ を使用しています。アルバムのアートワークがID3v2タグとしてエンコードされていることを理解しています。

Mp3ファイルのID3v2タグにアクセスできますが、アートワークを取得できません。 [〜#〜] api [〜#〜] のAbstractID3v2クラスのメソッドはどれも画像を取得していないようです。

このライブラリをどのように使用しますか?

17
Adeeb

私は別のライブラリを使用することになり、 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));
}
25
Adeeb

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();
    /* ... */
}
3
user667