使用 mp3agic 删除封面艺术
Posted
技术标签:
【中文标题】使用 mp3agic 删除封面艺术【英文标题】:Remove cover art with mp3agic 【发布时间】:2013-08-03 07:51:59 【问题描述】:我正在使用 mp3agic 自动编辑 mp3 标签,以便我的收音机以我喜欢的方式显示所有内容。但是,我的收音机似乎讨厌大专辑封面图像,导致无法解析 mp3 标签的其余部分。因此,我想使用 mp3agic 删除所有封面艺术。有一个名为ID3v2.setAlbumImage(byte[] albumImage, String mimeType)
的方法由AbstractID3v2Tag
实现,如here 所示。首先,我考虑输入null
值,但是在查看代码之后,这没有任何效果。
问题:如何使用setAlbumImage
方法删除现有专辑封面?有没有更合适的方法?
【问题讨论】:
【参考方案1】:看看这个重新标记的例子:https://github.com/mpatric/mp3agic-examples/blob/master/src/main/java/com/mpatric/mp3agic/app/Mp3Retag.java#L94
这可能是最好的解决方案,因为据我所知,您不能删除,只能读写图像。
我希望这可以帮助您找到解决方案
【讨论】:
【参考方案2】:没有简单的方法可以通过暴露的方法删除相册图像。我已经在 github 的项目中添加了一个新问题来添加此功能。
https://github.com/mpatric/mp3agic/issues/46
【讨论】:
【参考方案3】:也许您可以读取现有标签,将其删除,然后使用目标文件中所需的字段重写标签。
【讨论】:
【参考方案4】:简答
根据目前的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");
【讨论】:
以上是关于使用 mp3agic 删除封面艺术的主要内容,如果未能解决你的问题,请参考以下文章