Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Taglib sharp未编辑评级_C#_Taglib Sharp - Fatal编程技术网

C# Taglib sharp未编辑评级

C# Taglib sharp未编辑评级,c#,taglib-sharp,C#,Taglib Sharp,我在使用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 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。为什么会发生这种情况,为什么评级值没有更新

看看的答案,可能的原因是您的标签可能被保存为iD3v2.4,而Windows仅支持iD3v2.3

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

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