1

私はこの機能を使用します:

def set_trackno(f, track):
    """Set id3 track number"""
    audio = MP3(f)
    audio["TRCK"] = TRCK(encoding=3, text=[unicode(track)])
    audio.save()

id3 タグがないファイルに id3 タグを設定しようとします。例外はスローされません。しかし、それは単に機能しません。何故ですか?出力例を次に示します。

In [1]: %paste
def set_trackno(f, track):
    """Set id3 track number"""
    audio = MP3(f)
    audio["TRCK"] = TRCK(encoding=3, text=[unicode(track)])
    audio.save()
## -- End pasted text --

In [2]: from mutagen.mp3 import MP3

In [3]: from mutagen.id3 import TRCK

In [4]: set_trackno('/home/nine/Musik/Kristet/Buster Inc/Buster_Inc.-Summertime.mp3', 1)

In [5]: exit
nine@nine-laptop:~/Musik/Kristet/Buster Inc$ id3v2 -l Buster_Inc.-Summertime.mp3 
Buster_Inc.-Summertime.mp3: No ID3 tag
nine@nine-laptop:~/Musik/Kristet/Buster Inc$ 

更新 1

関数を次のように変更しました (コードの最後の行を参照)。

def set_trackno(f, track):
    """Set id3 track number"""
    audio = MP3(f)
    audio["TRCK"] = TRCK(encoding=3, text=unicode(track))
    audio.tags.save(v1=2)

そして今、id3 バージョン 1 を書き込みます (これはかなり明らかなようです)。しかし、バージョン 2 の書き方がわかりaudio.tags.save()ません。うまくいきません...

4

0 に答える 0