使用Taglib sharp时遇到了一个非常奇怪的问题。我使用下面的代码更改了视频文件的评级。
TagLib.File file = TagLib.File.Create(FULLFILEPATH);
TagLib.Tag Tag = file.GetTag(TagTypes.Id3v2);
TagLib.Id3v2.PopularimeterFrame frame = TagLib.Id3v2.PopularimeterFrame.Get((TagLib.Id3v2.Tag)Tag, "WindowsUser", true);
frame.Rating = 255;
file.Save();
当我从属性打开视频文件的详细信息选项卡时保存文件后,评级似乎没有变化。但是当我再次在c#中以编程方式读取该文件并检查其评级值时,它是255.为什么会发生这种情况以及为什么评级值不更新?
答案 0 :(得分:3)
查看Check music file rating with VB.NET + WinForms的答案,可能的原因是您的代码可能会保存为iD3v2.4而Windows仅支持iD3v2.3。
您可以使用以下代码强制TagLib#将您的代码保存为iD3v2.3:
TagLib.Id3v2.Tag.DefaultVersion = 3;
TagLib.Id3v2.Tag.ForceDefaultVersion = true;