删除音乐文件中的ID3v1 + ID3v2标签时是否存在任何损坏风险?

时间:2013-10-04 21:42:39

标签: c# .net vb.net id3 id3-tag

我总是使用第三方CLI应用来管理我的音乐收藏,现在我想自己管理我的收藏编码所有我需要使用的库...但我不是这个编程音乐事物的专家

我需要一个ID3库(当然我想要最好的!)来删除(不写)所有mp3文件的所有ID3v1和ID3v2标签, 我见过 id3lib ,但这是 c ++ 所以我决定尝试 用于.NET的UltraId3Lib ,lib是完全面向对象的,易于使用,看起来效率很高......但似乎有点过时了:http://home.fuse.net/honnert/UltraID3Lib/

我的第一个问题是,如果我选择的库是好的和有效的,或者可能存在更好的ID3 Library for .NET(并且易于使用,请记住我不是mp3标题的专家和那些东西)。

我的第二个也是最重要的问题是,当我尝试从文件中删除id3v1 + id3v2标签时,我是否可以损坏/损坏mp3文件(我不是指人为错误),如果是,那么哪个是可以破坏mp3音频数据的原因?或者我可能不必担心将写入/删除ID3标签的“字节空间”?

......或者换句话说要问同样的问题:ID3v1 / ID3v2标签是否可以破坏mp3文件?如果是,那么为什么?在哪些环境?

2 个答案:

答案 0 :(得分:1)

嗯,我不确定删除标签时损坏mp3文件是多么容易,但是有一个post关于如何手动剥离标签(在代码中)。

但是如果你想使用一个库,总会有TagLib-Sharp

  

使用RemoveTags()方法。

     

file.RemoveTags(tagtypes);

     

其中tagtypes是要删除的代码的TagType位掩码。对于Id3v1和Id3v2,请尝试

     

file.RemoveTags(TagTypes.Id3v1 && TagTypes.Id3v2);

取自this post

答案 1 :(得分:1)

第一个答案:我建议使用'TagLib-Sharp'作为.NET的ID3库

第二个答案:只要你使用一个众所周知的ID3库,你损坏音乐文件的风险就会很低。但是(一如既往地和每个软件一样)它不是零。因此,我建议您使用之前已备份的* .mp3文件测试您自己的应用程序。

您也可能遇到这样的情况:ID3标签已写入不符合ID3.org规范的文件。那么损坏文件的风险会更高。在极少数情况下,您有三种选择:
a)从备份中恢复
b)再次从原始来源(CD,LP,Cassette)撕掉它们 c)从您的官方市场(亚马逊,iTunes等)再次下载。

遵循ID3规范,ID3v1 / ID3v2标签保存在mp3文件“音乐数据部分”之前或结尾的前几个字节中。只要您只删除此开始/结束部分,就不会损坏您的歌曲部分。