Python Mutagen添加图片封面无法工作。

14

我想用Mutagen库编辑MP3标签。现在我已经能够成功设置标题等标签,但是APIC标签还无法生效。

我的代码:

from mutagen.mp3 import MP3
from mutagen.id3 import ID3, APIC, TT2, TPE1, TRCK, TALB, USLT, error
# ID3 info:
# APIC: picture
# TIT2: title
# TPE1: artist
# TRCK: track number
# TALB: album
# USLT: lyric

pic_file = 'cover.jpg' # pic file
audio = MP3('song.mp3', ID3=ID3)
try:
    audio.add_tags()
except:
    pass
audio.tags.add(APIC(
    encoding=3,
    mime='image/jpeg',
    type=3,
    desc='Cover Picture',
    data=open(pic_file, encoding='ISO-8859-1').read().encode()
))
audio.tags.add(TT2(encoding=3, text='title'))
audio.tags.add(TALB(encoding=3, text='album'))
#audio.tags.add(TPE1(encoding=3, text=item['artist'].decode('utf-8')))
#audio.tags.add(TRCK(encoding=3, text=str(track_num).decode('utf-8')))
#audio.tags.add(USLT(encoding=3, lang=u'eng', desc=u'desc', text=item['lyric'].decode('utf-8')))
audio.save()
ID3('song.mp3').save(v2_version=3)

我该如何让它运作?

谢谢 :)


太好了,正是我所需要的。 - imrek
1
请将以下有关编程的内容从英语翻译成中文。只返回翻译后的文本:请将其作为答案发布,然后接受它,以便此问题不再显示为未回答。 - 576i
1
当有人回答我的问题时,我应该怎么做? - RMPR
1个回答

1
答案是:

解决方案是:

imagedata = open(pic_file, 'rb').read()

id3 = ID3('song.mp3')
id3.add(APIC(3, 'image/jpeg', 3, 'Front cover', imagedata))
id3.add(TIT2(encoding=3, text='title'))

id3.save(v2_version=3)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接