删除封面图片与mp3agic

时间:2013-08-03 07:51:59

标签: java mp3 tagging id3 mp3agic

我正在使用mp3agic自动编辑mp3标签,以便我的收音机以我喜欢的方式显示所有内容。然而,我的收音机似乎讨厌大专辑艺术图像,导致无法解析其余的mp3标签。因此,我想使用mp3agic删除所有封面艺术。有一个名为ID3v2.setAlbumImage(byte[] albumImage, String mimeType)的方法,由AbstractID3v2Tag实现,如here所示。首先我考虑投入null值,但在查看代码后这没有效果。

问题:如何使用setAlbumImage方法删除现有专辑封面?有更好的方法吗?

4 个答案:

答案 0 :(得分:3)

请看一下此示例的重新标记:https://github.com/mpatric/mp3agic-examples/blob/master/src/main/java/com/mpatric/mp3agic/app/Mp3Retag.java#L94

这可能是最好的解决方案,因为你不能删除,但只要我知道就读取和写入图像。

我希望这可以帮助您找到解决方案

答案 1 :(得分:0)

没有简单的方法可以通过公开的方法删除相册图像。我在github中为项目添加了一个新问题,以便添加此功能。

https://github.com/mpatric/mp3agic/issues/46

答案 2 :(得分:0)

也许您可以阅读现有标记,将其删除,然后使用目标文件中所需的字段重写标记。

答案 3 :(得分:0)

简答

根据目前的javadoc [我在网上找不到,只能通过自己编译当前来源]可以通过

来完成
clearAlbumImage();
ID3v2接口的功能

实施例

以下是如何使用它的示例:

Mp3File mp3file = new Mp3File("example.mp3");

ID3v2 id3v2Tag;

if (mp3file.hasId3v2Tag()) {
    id3v2Tag = mp3file.getId3v2Tag();
} else {
    id3v2Tag = new ID3v24Tag();
    mp3file.setId3v2Tag(id3v2Tag);
}

id3v2Tag.clearAlbumImage();
mp3file.save("example.mp3");