什么是APEv1标签标识符?

时间:2017-04-30 22:27:57

标签: c# .net vb.net

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

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

作为附注,使用APEv2,标签标识符为“APETAGEX”,位于文件的开头。

感谢。

2 个答案:

答案 0 :(得分:1)

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

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

那就是说,taglib-sharp应该可以用file.RemoveTags(TagTypes.Ape)删除页脚APEv1标签

答案 1 :(得分:0)

根据APE tag - Wikipedia,没有实际标记,但数据会附加到文件末尾。

  

APEv1

     

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