我正在尝试将新的演出者和标题id3标签保存到音轨中。从运行良好的轨道加载标签,并且为轨道编辑标题也可以正常工作。但是,当我尝试编辑表演者(艺术家)时,它没有做任何更改。这是代码

public void renameID3(string artist,string title)
{
   using (TagLib.File f = TagLib.File.Create(FInfo.FullName))
        {
            f.Tag.Artists[0] = artist; //Both of them are not ...
            f.Tag.Performers[0] = artist; //working


            f.Tag.Title = title; //This works fine
            f.Save();
        }
  }

另外,我查看了TagLib类的 FirstPerformer FirstPerformer 成员的定义,但是它们没有任何设置方法。
有人知道如何解决这个问题吗?

最佳答案

卡在同样的问题上。发现首先清除Performers使其可以按预期工作:

using(TagLib.File tlFile = TagLib.File.Create(newFileName)){
    //tlFile.Tag.Performers = new []{translateDict[author]}; //doesn't work
    tlFile.Tag.Performers = null; //clearing out performers
    tlFile.Tag.Performers = new []{translateDict[author]}; //works now
    tlFile.Save();
}

关于c# - TagLib尖锐不编辑艺术家,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17292142/

10-13 09:37