我正在使用诱变剂尝试在我的媒体上查找歌词。当我运行以下
import mutagen.mp3
mp3 = MP3(mp3file)
print mp3.pprint()
我可以看到框架 USLT 存在,它包含:
USLT=[无法表示的数据]
我不明白为什么数据不可表示。我已将标签插入到 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" 但我可以确认这是有效的,因为我可以看到标签出现在 mp3tag 中(软件用于修改mp3标签)
所以标签存在,带有歌词。我可以在 mp3.pprint() 和 mp3tag 中看到这一点,但我无法使用以下代码查看它:
ulyrics = mp3["USLT"]
print ulyrics
我曾尝试将“USLT”更改为 u“USLT::'eng'”,但没有任何区别。我经常看到错误信息:
文件“filepath\mutagen_util.py”,第 206 行,在getitem中 返回 self.__dict[key] KeyError: 'USLT'
但我不知道这是诱变剂还是我的代码中的错误(我可以看到我需要的所有其他标签的结果)