1

我正在编写一个 ID3 解析器和编辑器。它已经支持 ID3v1、v2.1-2.3。是否还有其他广泛使用的 ID3 版本或扩展?例如,我读过增强型 ID3v1 标签(在 ID3v1 之前)并以“TAG+”开头,但我从未在 MP3 文件中看到它。无论如何我应该实现对它的支持吗?

4

1 回答 1

2
  • “ID3v2.1”从未存在过。
  • 是的,Enhanced TAG标识 by TAG+,它扩展了 IDv1
  • 有关 MP3 文件中预期的所有元数据系统的列表,请参阅https://stackoverflow.com/a/62366354 - 最高优先级应该是ID3v2.4 ,因为除了ID3v2.3之外,您还会遇到最多的那些。然后选择非正式和/或遗留的,因为仍然可以遇到这些(仅仅因为文件变旧并不意味着它们不再存在)。

解析文件时请记住以下几点:

  • 一个文件可以同时具有: IDv1 和 IDv2 标签。
  • 一个文件可以有多个 IDv2 标签(即 IDv2.3 和 IDv2.4)。尽管它不应该发生,但它应该不会对您的解析器造成问题,也可以接受相同版本的多个标签。
  • ID3v2 不限于MP3 文件(但 IDv1 及其所有非正式扩展名)。
  • 考虑 MP3 文件中的以下解析顺序:
    1. 检查文件末尾的ID3v1 。
    2. 在 ID3v1 前面检查ID3v1.2 。
    3. 检查ID3v1 前面的增强型 TAG 。
    4. 在文件开头检查多个ID3v2,对于 ID3v2.4,在所有类似 ID3v1 的标记前检查文件末尾的页脚。
于 2020-09-04T21:48:23.433 回答