ミュータジェンを使用して、メディアで歌詞を見つけようとしています。次を実行すると
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()
「USLT」を単独で使用するのではなく、タグを u"USLT::'eng'"] として宣言する必要がある理由がよくわかりませんが、タグが mp3tag (以前はmp3 タグを変更します)
タグが存在し、歌詞が表示されます。これは mp3.pprint() と mp3tag の両方で確認できますが、次のコードでは表示できません。
ulyrics = mp3["USLT"]
print ulyrics
"USLT" を u"USLT::'eng'" に変更しようとしましたが、違いはありません。次のエラー メッセージが定期的に表示されます。
ファイル "filepath\mutagen_util.py"、206 行目、getitem return self.__dict[key] KeyError: 'USLT'
しかし、これがミュータジェンまたは私のコードのエラーであるかどうかはわかりません(必要な他のすべてのタグの結果を見ることができるため)