0

我的大多数 MP3 文件都带有 ID3v1 和 ID3v2 标记。我想编写一个脚本来读取文件并识别 ID3v1 版本,而不考虑其他 ID3 版本。

我正在努力使用以下代码(eyed3)。isV1True当 ID3v1 是唯一使用的版本时。但是代码打印

V1 > 错误

V2 > 真

对于 ID3v1 和 ID3v2 的文件。

该代码使用eyed3但我也接受诱变剂(但找不到如何编码的示例)。

import eyed3
a = eyed3.load("song.mp3")
print("V1", a.tag.isV1())
print("V2", a.tag.isV2())
4

1 回答 1

0
  • 您可以看到,如果eyed3.id.tag.parse()找到 ID3v2,则不再加载潜在的 ID3v1。
  • 您可以看到该函数不仅eyed3.core.load()有文件名的 1 个参数,还有您要查找/加载的标签版本的第二个参数。
  • 该参数的可用常量可以在eyed3.id3- 您最有可能对任何版本的 ID3v1 和任何版本的 ID3v2 感兴趣。

结合这些知识,您必须两次加载文件并对其采取行动:

v1 = eyed3.load("song.mp3", ID3_V1)
print("V1", v1.tag.isV1())

v2 = eyed3.load("song.mp3", ID3_V2)
print("V2", v2.tag.isV2())
于 2022-02-26T11:16:34.063 回答