我想知道使用什么模块将图像设置为特定 mp3 文件的专辑封面。Mutagen 似乎是一个受欢迎的选择,但它似乎不适用于 python 3,而且我找不到任何文档。
问问题
9181 次
2 回答
24
这是我使用的代码的修改版本。您将需要更改example.mp3
and cover.jpg
(也许还有 mime 类型):
import eyed3
from eyed3.id3.frames import ImageFrame
audiofile = eyed3.load('example.mp3')
if (audiofile.tag == None):
audiofile.initTag()
audiofile.tag.images.set(ImageFrame.FRONT_COVER, open('cover.jpg','rb').read(), 'image/jpeg')
audiofile.tag.save()
tag.images.set()
接受三个参数:
- 图片类型:这是图像的类型。
3
是封面艺术的代码。你可以在这里找到它们。 - 图像数据:这是图像的二进制数据。在示例中,我使用
open().read()
. - Mime Type:这是二进制数据的文件类型。如果它是一个
jpg
文件,你会想要image/jpeg
,如果它是一个png
文件,你会想要image/png
.
于 2016-09-04T12:21:42.880 回答
5
除了上面的答案,这是我两天来一直在努力的事情:
您必须将 ID3 版本设置为“V2.3”,否则文件图标将不会显示照片。您还必须为每个 MP3 文件设置不同的专辑名称,否则音乐播放器会自行运行并为所有音乐文件显示相同的 AlbumCover,即使它们没有任何 AlbumArt
audio.tag.title = u'your_title'
audio.tag.album = u'your_album_name'
audio.tag.images.set(3, open("cover.jpg", 'rb').read(), 'image/jpeg')
audio.tag.save(version=eyed3.id3.ID3_V2_3)
你最好也设置一个标题,因为文件名不会显示在音乐播放器中。
audio.initTag()
如果您愿意,使用也可以擦除标签信息。
于 2020-04-25T23:37:10.860 回答