如何在Windows 10 PC上使用Python 3.7和Mutagen写入ID3标签WFED URL框架

时间:2018-07-19 21:26:14

标签: python mutagen id3v2 python-3.7 id3-tag

我一直在Windows 10 PC上使用Python 3.7和Mutagen创建一个MP3标签编辑器。我想写入URL框架WFED,但它没有响应。我已经可以使用下面的代码成功更新另一个URL框架WXXX。

下面的代码适用于WXXX

new_url = unicode("http://url.com").encode('raw_unicode_escape').decode("utf-8") 
tags.add(WXXX(encoding=0, url=new_url))

下面的代码不适用于WFED

new_feed = unicode("http://url.com").encode('raw_unicode_escape').decode("utf-8")
tags.add(WFED(encoding=0, url=new_feed))

任何人都可以提供有关如何写WFED的任何指导吗?

2 个答案:

答案 0 :(得分:1)

正如其他人所提到的,WFED不是标准的ID3v2.x框架

请参阅ID3.org:

由于要添加URL,所以最好坚持使用WXXX,ID3将其定义为“ 用户定义的URL链接框架”。

或者,您也可以使用WOAFWOARWOASWORS框架来存储URL。

答案 1 :(得分:0)

WFED不仅不是标准框架,而且似乎甚至没有W...框架的标准格式!

WXXX帧有一个编码字段,但W...帧没有。在ID3中,URL始终以ISO-8859-1进行编码,因此不需要编码字段。 WXXX确实有一个原因是因为其说明字段。

但是使用WFED(我认为它是未记录的Apple iTunes扩展名),我在此帧中拥有的每个MP3文件都以NULL字节开头,然后是ASCII(或ISO-8859-1)中的URL,这让我认为Apple使WFED框架使用T...框架格式而不是W...框架格式。

我尚未使用其他ID3读/写工具或库进行测试,但是Exiftool确实将每个WFED报告为空白,因为它符合实际标准。

是的,也许是问题所在,因为Mutagen不支持WFED,或者它希望它遵循W...标准格式,并且您使用该框架的软件期望它为未记录格式。在十六进制编辑器中检查您的文件,以查看Mutagen是否对其进行了更改。