【问题标题】:How to write to the ID3 tag WFED URL frame using Python 3.7 and Mutagen on a Windows 10 PC如何在 Windows 10 PC 上使用 Python 3.7 和 Mutagen 写入 ID3 标签 WFED URL 框架
【发布时间】:2018-12-28 03:23:03
【问题描述】:

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

【问题讨论】:

  • 我有一段时间没有使用Mutagen,但我认为你的问题是,因为WFED不是标准框架,所以Mutagen不知道它是什么格式,因此假设它是一个文本字段,而不是 url 字段。
  • 如果我是对的,您可以通过monkeypatch mutagen 的帧字典来告诉它有关WFED 的信息。这可能听起来很老套,但唯一干净的解决方案是用原始字节构建一个 url-link 框架。

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


【解决方案1】:

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

参见 ID3.org:

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

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

【讨论】:

    【解决方案2】:

    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 是否对其进行了更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-11
      • 2019-12-06
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      • 2019-06-14
      相关资源
      最近更新 更多