如何停止mutagen自动更新ID3版本?

时间:2013-08-15 07:36:58

标签: python mp3 id3 id3v2 mutagen

当我尝试在MP3中嵌入专辑封面时,mutagen将ID3标签更新为2.4版 - 这是我不想要的,因为在ID3v2.4我的手机(运行Windows Phone 8)和我的电脑可以'识别标签。

显然,只是更改mutagen.id3.version属性不起作用:真实版本不会改变。

3 个答案:

答案 0 :(得分:8)

有一个" v2_version"标签保存功能中的选项,如下所示。

import mutagen
audio=mutagen.File('1.mp3')
#audio.tags.update_to_v23()
audio.tags.save(v2_version=3)

它也记录在help()

help(audio.tags.save)

如下:

  

save(self,filename = None,v1 = 1,v2_version = 4,v23_sep =' /')

答案 1 :(得分:3)

现在支持编写ID3v2.3标签。我在更改日志中看到了这一点:

1.22 - 2013.09.08
 ...
 * ID3:
   * id3v2.3 writing support (#85)
   * Add iTunes podcast frames (TGID, TDES, WFED) (#141)
   * Updated id3v1 genre list
 ...

这在文档中:

update_to_v23()
    Convert older (and newer) tags into an ID3v2.3 tag.    
    This updates incompatible ID3v2 frames to ID3v2.3 ones. If you intend to save tags as ID3v2.3, you must call this function at some point.
    If you want to to go off spec and include some v2.4 frames in v2.3, remove them before calling this and add them back afterwards.

我不得不强迫我的系统使用pip install 'mutagen>=1.22'下载1.22版;否则它让我的版本1.21。现在,以下代码似乎对我有用:

>>> audio = mutagen.File("path_to_your.mp3")
>>> type(audio)
<class 'mutagen.mp3.MP3'>
>>> audio.tags.update_to_v23()

答案 2 :(得分:0)

可悲的是,你做不到。来自the docs

  

Mutagen只能编写ID3v2.4标签......

另见: