如何使用python 3将专辑封面添加到mp3文件?

时间:2016-07-21 17:27:58

标签: python audio python-3.4 eyed3

我想知道用什么模块将图像设置为特定mp3文件的专辑封面。 Mutagen似乎是一个受欢迎的选择,但它似乎不适用于python 3,我找不到任何文档。

2 个答案:

答案 0 :(得分:6)

这是我使用的代码的修改版本。您需要更改cover.jpgimport eyed3 audiofile = eyed3.load('example.mp3') if (audiofile.tag == None): audiofile.initTag() audiofile.tag.images.set(3, open('cover.jpg','rb').read(), 'image/jpeg') audiofile.tag.save() (也可能更改mime类型):

tag.images.set()

3有三个参数:

  • 图片类型:这是图片的类型。 open().read()是封面艺术的代码。你可以find them all here
  • 图像数据:这是图像的二进制数据。在示例中,我使用jpg
  • 加载它
  • Mime Type :这是二进制数据的文件类型。如果是image/jpeg个文件,则您需要png,如果是image/png个文件,则您需要deb http://bg.archive.ubuntu.com/ubuntu/ xenial main restricted

答案 1 :(得分:4)

除了上述答案外,这是我在辛苦了两天的事情:

您必须将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()也可以擦除标签信息。