需要什么样的对象作为 mutagen.mp4.MP4Cover 中的第一个参数?

What kind of object is needed as first argument in mutagen.mp4.MP4Cover?

我想使用函数 mutagen.mp4.MP4Cover(data, imageformat) (direct link to documentation),但是文档只指定了 imageformat,而没有指定 data 是什么。

我有一个 .png 文件,我想将其添加到 .mp3 作为 cover/album 艺术。

"I have a .png file that I would like to add to an .mp3 as cover/album art."

这个 MP3 数据实际上包含在 MP4 或 M4A 格式文件中吗?如果没有,那么你不能使用 .mp4.MP4Cover 因为 MP3 文件的 header 确实有任何 "slot" 来插入一些封面艺术。 MP4 和 M4A 等容器有一个特定的位置 built-in 用于添加封面(covr 原子)。

对于 stand-alone MP3 文件,您必须改为添加 ID3 元数据。
具体来说,您想添加一个名为 APIC 的标签(附图片):

from mutagen import id3, mp3
file = mp3.MP3('test.mp3')

imagedata = open('cover.png', 'rb').read()
file.tags.add(id3.APIC(3, 'image/png', 3, 'Front cover', imagedata))
file.save()