1

我一直在 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 提供任何指导吗?

4

2 回答 2

1

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

参见 ID3.org:

由于您要添加 URL,因此最好坚持使用WXXXID3 将其定义为“用户定义的 URL 链接框架”。

或者,您也可以使用WOAFWOARWOASWORSframes 来存储 URL。

于 2020-04-07T19:18:03.897 回答
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 是否更改了它。

于 2019-12-24T12:11:37.387 回答