使用 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 删除封面艺术的主要内容,如果未能解决你的问题,请参考以下文章

壁画获得嵌入式封面艺术

通过 Spotify API 获取封面艺术

Cocoalibspotify,封面艺术未加载其余元数据

将一首歌曲的封面艺术批量复制到另一首(相同的文件名)

从音频文件中获取专辑封面、歌曲名称、专辑名称和艺术家姓名

显示 Spotify 专辑封面网页