【问题标题】:What is the APEv1 tag identifier?APEv1 标签标识符是什么?
【发布时间】:2017-04-30 22:27:57
【问题描述】:

我一直在清理我的 MP3 收藏,并使用 taglib-sharp 从我的收藏中大量删除了所有 ID3v1.x/ID3v2.x 标签,因此我可以使用一个程序自动重新标记它们。无论如何,如果文件中有任何 APEv1 和 APEv2 标签,我需要能够删除它们。它们很少与 MP3 一起使用,但可以。

我需要知道 APEv1 的标签标识符是什么,它位于文件的末尾。我在网上搜索过,一无所获。

附带说明,对于 APEv2,标签标识符是“APETAGEX”,位于文件的开头。

谢谢。

【问题讨论】:

标签: c# .net vb.net


【解决方案1】:

根据APEv1 spec,APEv1 和 APEv2 之间的唯一区别是 APEv1 没有标头,因此必须始终位于文件末尾或紧接在 ID3v1 标记之前。

页脚/页眉长度为 32 个字节,以 APETAGEX 开头,因此检查文件末尾是否存在 APE 标记将涉及读取 Length - 32 处的 8 个字节并检查该 ASCII 字符串,或者Length - 32 - 128 如果有 ID3v1 标签(或者如果文件中有页脚 APEv2 和 ID3v2 标签,则位置完全不同,因为在这种情况下确实没有严格的先例)。

也就是说,taglib-sharp 应该能够使用file.RemoveTags(TagTypes.Ape) 删除页脚 APEv1 标签

【讨论】:

  • 感谢您解决这个问题。我以为 taglib 会处理它,但我不完全确定。感谢您提供的重要信息。 +1
  • @NeilSiegfried 如果这对您有用,您可以投票/接受答案吗?
【解决方案2】:

根据APE tag - Wikipedia 没有实际的标签,但是数据被附加到文件的末尾。

APEv1

APEv1 标签是为 Monkey's Audio 设计的 格式。[2]在 MP3 文件中,APE 标签存储在文件的最后 文件,文件正文中没有内联声明。该软件 处理对标签的写入和访问,并且不干扰 MP3 的内容。

【讨论】:

    猜你喜欢
    • 2014-09-17
    • 2018-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 2011-04-20
    • 2011-01-10
    • 1970-01-01
    相关资源
    最近更新 更多