1

我一直使用第三方 CLI 应用程序来管理我的音乐收藏,现在我想自己管理我的收藏编码,所有我需要使用库做的事情......但我不是这方面的编程音乐专家。

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

我的第一个问题是我选择的库是否良好且高效,或者是否存在更好的 .NET ID3 库(并且易于使用,请记住我不是 mp3 标头和其他方面的专家)。

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

...或者换句话说,问同样的问题:ID3v1/ID3v2 标签会损坏 mp3 文件?如果是,那为什么?在哪些情况下?

4

2 回答 2

1

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

第二个答案:只要您使用知名的 ID3 库,损坏音乐文件的风险非常低。但是(与往常一样,对于每个软件)它不是零。因此,我建议使用您之前备份的 *.mp3 文件测试您自己的应用程序。

您也可能遇到这样的情况,即 ID3 标记已写入不符合 ID3.org 规范的文件中。那么损坏文件的风险就会更高。在这种罕见的情况下,您有三种选择:
a) 从备份中恢复
b) 从原始来源(CD、LP、卡带)再次翻录
c) 从您的官方市场(亚马逊、iTunes 等)再次下载。

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

于 2013-10-05T10:01:12.497 回答
1

好吧,我不确定在删除标签时破坏 mp3 文件有多么容易,但是有一篇关于如何手动删除标签的帖子(在代码中)

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

使用RemoveTags()方法。

file.RemoveTags(tagtypes);

您要删除的标签的位掩码tagtypes在哪里。TagType对于 Id3v1 和 Id3v2,请尝试,

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

取自这篇文章

于 2013-10-04T22:12:56.383 回答