【发布时间】:2016-11-25 10:15:47
【问题描述】:
我想知道使用什么模块将图像设置为特定 mp3 文件的专辑封面。 Mutagen 似乎是一个受欢迎的选择,但它似乎不适用于 python 3,而且我找不到任何文档。
【问题讨论】:
标签: python audio python-3.4 eyed3
我想知道使用什么模块将图像设置为特定 mp3 文件的专辑封面。 Mutagen 似乎是一个受欢迎的选择,但它似乎不适用于 python 3,而且我找不到任何文档。
【问题讨论】:
标签: python audio python-3.4 eyed3
这是我使用的代码的修改版本。您将需要更改 example.mp3 和 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 是封面艺术的代码。你可以find them all here。open().read() 加载它。jpg 文件,则需要image/jpeg,如果是png 文件,则需要image/png。【讨论】:
audiofile,tag,images[0]的图像呢?
除了上面的答案,这是我苦苦挣扎了两天:
您必须将 ID3 版本设置为“V2.3”,否则文件图标将不会显示照片。 您还必须为每个 MP3 文件设置不同的专辑名称,否则音乐播放器会自行运行并为所有音乐文件显示相同的专辑封面,即使它们没有任何专辑艺术
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() 擦除标签信息。
【讨论】: