不会添加id3标记

时间:2012-10-11 10:17:32

标签: python mp3 id3 mutagen

我使用这个功能:

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

尝试在缺少它的文件上设置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()不会...

0 个答案:

没有答案