如何使用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.AppleTag
或TagLib.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();