gpt4 book ai didi

python - 为什么我无法显示 USLT 歌词

转载 作者:行者123 更新时间:2023-12-04 18:02:36 25 4
gpt4 key购买 nike

我正在使用诱变剂尝试在我的媒体上查找歌词。当我运行以下命令时

import mutagen.mp3

mp3 = MP3(mp3file)
print mp3.pprint()

我可以看到框架 USLT 存在并且它包含:

USLT=[unrepresentable data]

我不明白为什么数据不可表示。我已将标签插入到 mp3 文件中,如下所示:

tags = ID3(mp3file)
tags[u"USLT::'eng'"] = (USLT(encoding=3, lang=u'eng', desc=u'desc', text="this is a test"))
tags.save()

我真的不明白为什么我需要将标签声明为 u"USLT::'eng'"] 而不是单独使用“USLT”,但我可以确认这是有效的,因为我可以看到标 checkout 现在 mp3tag 中(用于修改mp3标签的软件)

所以标签存在,有歌词。我可以在 mp3.pprint() 和 mp3tag 中看到它,但我无法使用以下代码查看它:

ulyrics = mp3["USLT"]
print ulyrics

我曾尝试将“USLT”更改为 u“USLT::'eng'”,但没有发现任何区别。我经常看到错误消息:

File "filepath\mutagen_util.py", line 206, in getitem return self.__dict[key] KeyError: 'USLT'

但我无法判断这是诱变剂还是我的代码中的错误(因为我可以看到我需要的所有其他标签的结果)

最佳答案

此刻,对我有用的是:

from mutagen.id3 import ID3

mp3file = "... path to mp3 file ..."

tags = ID3(mp3file)
ulyrics = tags.getall('USLT')[0]

# change the lyrics text
ulyrics.text = " An arbitrary new lyrics text..."
tags.setall('USLT', [ulyrics])

# change the lyrics object completely
ulyrics = USLT(encoding=3, lang=u'eng', desc=u'desc', text="this is a test")
tags.setall('USLT', [ulyrics])

重要的是要注意,不必使用键 "USLT::'eng'",因为 lang 包含在 USLT 对象。

关于python - 为什么我无法显示 USLT 歌词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32551661/

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