如何使用taglib-sharp在iTunes中设置'COMPILATION'标签?

问题描述:

是否可以使用taglib-sharp在iTunes中设置COMPILATION标签?如何使用taglib-sharp在iTunes中设置'COMPILATION'标签?

不幸的是,似乎没有什么与此类似:

TagLib.File tagFile = TagLib.File.Create(file); //.m4a file 
tagFile.Tag.IsComilation = true; 
tagFile.Save(); 

如果没有原生支持,是可以添加自定义标签?可能通过使用TagLib.Mpeg4.AppleTagTagLib.Mpeg4.AppleAdditionalInfoBox

有很多问题在这里回答如何使用Id3v2标签,但不适用于iTunes标签。我也找不到任何有用的文档。

非常感谢任何帮助!

根据ID3的official specifications,您似乎在寻找TCMP (iTunes Compilation Flag) Text Frame。将其设置为适当的值,iTunes显然会完成剩下的工作。 TCMP Text Frame采用布尔值。

这是一个简单的文本框架,iTunes用来指示文件是否是编译的一部分。

1 if part of a compilation 
0 or not present if not part of a compilation 

所以,你可以将其设置是这样的:

TagLib.File tagFile = TagLib.File.Create(file); 
Id3v2.Tag tag = (Id3v2.Tag)tagFile.GetTag(TagTypes.Id3v2, true); 
tag.SetTextFrame(FrameType.TCMP, "1"); // Change value accordingly... 
tagFile.Save();