1

Mutagen (最新バージョン) を使用して MP3 ファイルに Comment タグを追加または更新しようとしました。しかし、それを行う方法を見つけることができません。MP4は問題なく動作しました。これが私がしたことです

>>> audio = mutagen.mp3.MP3("/path/to/bill evans/bill evans-(1979)-we will meet again/05  five.mp3")
>>> audio
{'TALB': TALB(encoding=1, text=[u'We Will Meet Again']), 'TDRC': TDRC(encoding=0, text=[u'1979']), 'TIT2': TIT2(encoding=1, text=[u'Five']), u'USLT::eng': USLT(encoding=1, lang='eng', desc=u'', text=u'\nhttp://www.lyricsvip.com\n \n\n Powered by LyricsPlugin (http://www.lyricsplugin.com)'), u'POPM:Banshee': POPM(email=u'Banshee', rating=0), u'COMM::eng': COMM(encoding=0, lang='eng', desc=u'', text=[u'last.fm:{piano},{"cool jazz"},{jazz};']), 'TRCK': TRCK(encoding=1, text=[u'5']), 'TPE2': TPE2(encoding=1, text=[u'Bill Evans']), 'TPE1': TPE1(encoding=1, text=[u'Bill Evans']), 'TBPM': TBPM(encoding=0, text=[u'91']), 'TIT1': TIT1(encoding=0, text=[u'Post Bop, Piano']), 'TCON': TCON(encoding=0, text=[u'Jazz']), u'COMM:iTunNORM:eng': COMM(encoding=0, lang='eng', desc=u'iTunNORM', text=[u' 00000206 000001B4 00002053 00002072 0004C496 0004C496 00005C4C 00004F1B 00060D06 00061B72'])}
>>> audio['COMM::eng'] = "mutagen comments"
>>> audio.save()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/mutagen/_file.py", line 111, in save
    return self.tags.save(filename, **kwargs)
  File "/Library/Python/2.7/site-packages/mutagen/id3/__init__.py", line 469, in save
    framedata = self._prepare_framedata(v2_version, v23_sep)
  File "/Library/Python/2.7/site-packages/mutagen/id3/__init__.py", line 415, in _prepare_framedata
    for (key, frame) in frames]
  File "/Library/Python/2.7/site-packages/mutagen/id3/__init__.py", line 545, in __save_frame
    framedata = frame._writeData()
AttributeError: 'str' object has no attribute '_writeData'
>>> 

ただし、MP4 は完全に機能しました。

>>> file = mutagen.File("/Volumes/USB-MUSIC/MUSIC/2014-10/mysong.m4a")
>>> file
{'\xa9alb': [u'\u6d77\u89d2\u5929\u6daf'], '\xa9ART': [u'\u738b\u82b7\u857e'], '\xa9grp': [u'Folk, Singer/Songwriter'], '----:com.apple.iTunes:iTunSMPB': [MP4FreeForm(' 00000000 00000840 000003C0 0000000000BECC00 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000', AtomDataType.UTF8)], '\xa9nam': [u'\u51b7\u51b7\u7684\u590f'], '\xa9gen': [u'C-Pop'], '----:com.apple.iTunes:iTunNORM': [MP4FreeForm(' 000001F5 00000201 0000154D 00001413 0003526E 0003526E 0000542D 00005638 00027E8C 0001422D', AtomDataType.UTF8)]}
>>> file['\xa9cmt'] = "Mutagen comments."
>>> file.save("/Volumes/USB-MUSIC/MUSIC/2014-10/mysong.m4a")

エラーはなく、コメント タグは正しく更新されました。

mp3 では、mutagen.id3 と mutagen.File() も試しましたが、すべて同じエラーが発生しました。コメントタグをmp3で保存する標準的な方法はありますか?

4

1 に答える 1