0

我正在尝试使用 TagLib# 对我的 MP3 中的一些标签进行排序,因为我的汽车音响在某些标签的内容方面存在问题(与显示无关)。当然,我只想对标签进行排序,而不是生成新标签或替换现有标签。在理想情况下,只应更改 mp3 文件中的标签序列,因此文件大小不会改变。

不幸的是,我找不到只移动 TDRC 标签(记录日期的新定义)的方法:一旦我设置它,TagLib 就决定为兼容性做一些事情并生成 TYER a 和 TDAT 标签,如果时间也存在于 TDRC 中,然后它还会生成 TIME 标签。

有没有办法在设置 TDRC 时禁用这些标签的自动生成?我尝试将 TDRC 复制为 TextInformationFrame,但没有运气。

我正在使用最新的 TagLib,并使用 id3v2.3 标签处理 MP3 文件。

4

1 回答 1

1

您添加了将 Id3v2.3 与 UTF16 一起使用的信息。

TDRC 官方仅适用于 id3v2.4。如果您将它与 id3v2.3 一起使用,您将创建一个超出官方标准的标签。

id3.org 对id3v2.4说:

TDAT - 日期 / 时间 - 时间 / TYER - 年
此框架由 TDRC 框架替换,“记录时间”[F:4.2.5]

TDRC
“录制时间”帧包含描述音频录制时间的时间戳。时间戳格式在 ID3v2 结构文档 [ID3v2-strct] 中进行了描述。


时间戳字段基于 ISO 8601 的子集。尽可能精确时,时间字符串的格式为 yyyy-MM-ddTHH:mm:ss (year, "-", month, "-", day, " T”、小时(24 小时内)、“:”、分钟、“:”、秒),但可以通过删除任意数量的时间指示符来降低精度。
因此有效的时间戳是:
yyyy、yyyy-MM、yyyy-MM-dd、yyyy-MM-ddTHH、yyyy-MM-ddTHH:mm 和 yyyy-MM-ddTHH:mm:ss。所有时间戳均为 UTC。对于持续时间,使用 8601 中描述的斜线字符,对于多个不连续的日期,如果框架定义允许,则使用多个字符串。

于 2016-12-24T09:38:17.250 回答