Taglib锐利不编辑评级

使用Taglib sharp时遇到了一个非常奇怪的问题。 我使用下面显示的代码更改了video文件的评级。

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(); 

当我从属性打开video文件的详细信息选项卡时保存文件后,评级似乎没有改变。 但是当我再次在c#中以编程方式读取该文件并检查其评级值时,它是255.为什么会发生这种情况以及为什么评级值不会更新?

查看使用VB.NET + WinForms检查音乐文件评级的答案,可能的原因是您的标签可能会保存为iD3v2.4而Windows仅支持iD3v2.3。

您可以使用以下代码强制TagLib#将您的标签保存为iD3v2.3:

 TagLib.Id3v2.Tag.DefaultVersion = 3; TagLib.Id3v2.Tag.ForceDefaultVersion = true;