2011-12-14 28 views
1

我是新使用TagLib sharp。我试图只在文件内保存特定版本的标签。每次我保存标签ID3v1和ID3v2都会被创建。有没有办法阻止这种情况发生?我可以选择我想要保存的一个吗? save函数没有任何参数,所以有什么想法?Taglib只需节省ID3v2

回答

3

创建这些标记是为了方便创建File对象。删除新创建的标签的正确方法是调用Save之前执行以下命令:

file.RemoveTags (file.TagTypes & ~file.TagTypesOnDisk); 

Source

1

谢谢布赖恩。
C#的 “&〜” 语法不是很明显的VB.NET用户:

file.RemoveTags(file.TagTypes And Not file.TagTypesOnDisk) 

@ user1098787:
如果你想要写一个特定版本ID3V2,您可以使用此命令

TagLib.Id3v2.Tag.DefaultVersion = 3 
TagLib.Id3v2.Tag.ForceDefaultVersion = True 

DefaultVersion的可能值为2(id3v2.2),3(id3v2.3)或4(id3v2.4)