gpt4 book ai didi

python + eyeD3 : cannot save date to mp3 metadata

转载 作者:太空狗 更新时间:2023-10-30 00:07:57 26 4
gpt4 key购买 nike

我正在尝试使用 Python 及其 eyeD3 API 更新一堆 mp3 文件的元数据。

它看起来相当简单,我使用的代码如下所示:

if not eyeD3.isMp3File(filename):
print filename, 'is not a mp3 file. Ignoring it.'
tag = eyeD3.Tag()
tag.link(filename)
tag.setVersion(eyeD3.ID3_V2)
tag.setTextEncoding(eyeD3.UTF_8_ENCODING)
tag.setTitle(dataset['Title'])
tag.setDate(datetime.datetime.now().year)
tag.update()

发生的情况是:代码静默执行(没有错误或异常),标题设置正确,目标文件中设置日期。它保持为空或设置为以前的值(检查两种情况)。

setDate 函数的帮助不是特别有趣:

setDate(self, year, month=None, dayOfMonth=None, hour=None, minute=None, second=None, fid=None) unbound eyeD3.tag.Tag method

...但告诉我我的电话应该没问题。知道这里发生了什么吗?

最佳答案

我遇到了和你一样的问题。最后,我放弃了 eyeD3 库,mutagen 是一个不错的选择。

这是我在 Python 中使用 mutagen.mp3 的示例。

from mutagen.mp3 import MP3
from mutagen.id3 import ID3, APIC, TIT2, TPE1, TRCK, TALB, USLT, error
# ID3 info:
# APIC: picture
# TIT2: title
# TPE1: artist
# TRCK: track number
# TALB: album
# USLT: lyric
def id3_cook(directory, filename, item, track_num):
pic_file = directory + '/cover.jpg' # pic file
audio = MP3(filename, ID3=ID3)
try:
audio.add_tags()
except:
pass
audio.tags.add(APIC(
encoding=3,
mime='image/jpeg',
type=3,
desc=u'Cover Picture',
data=open(pic_file).read()
))
audio.tags.add(TIT2(encoding=3, text=item['song'].decode('utf-8')))
audio.tags.add(TALB(encoding=3, text=item['album'].decode('utf-8')))
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()

关于 python + eyeD3 : cannot save date to mp3 metadata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12123277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com