我正在尝试通过以下方式使用Mutagen更改一堆MP3文件的ID3(2.3版)封面:
from mutagen.mp3 import MP3
from mutagen.id3 import APIC
file = MP3(filename)
with open('Label.jpg', 'rb') as albumart:
file.tags['APIC'] = APIC(
encoding=3,
mime='image/jpeg',
type=3, desc=u'Cover',
data=albumart.read()
)
file.save(v2_version=3)
但是,文件(或至少是APIC
标签)保持不变,如通过回读标签进行检查。但是,在系统文件浏览器中,文件确实显示了更新的Date modified
。如何获取Mutagen以正确更新封面?
由于ID3 specification指出该问题即将出现:
可能在一个文件上附加了几张图片,每张图片都在各自的“ APIC”框架中,但是只有一张具有相同的内容描述符。
这意味着ID3必须使用['APIC:Description']
存储APIC标签。此外,推荐的添加标签的方法不是直接通过词典界面(如问题示例中所示),而是使用ID3.add()
函数。使用ID3对象还使我们可以使用ID3.add()
函数来检查标签是否已正确粘贴。
ID3.getall()
我需要将封面设置为“ APIC:”标签,而不是“ APIC”标签(我想这是指定IDv2.3的方式。)>