我正在尝试将新的艺术家和标题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 成员的定义,但他们没有任何set方法。 有谁知道如何解决这个问题?
答案 0 :(得分:8)
坚持同样的问题。发现清除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();
}
答案 1 :(得分:1)
TagLib.File f = TagLib.File.Create(yourFile);
f.Tag.AlbumArtists = new string[] { "Artist 1", "Artist 2", ... };
答案 2 :(得分:0)
这对我有用:
TagLib.File file = TagLib.File.Create (fname);
file.Tag.Performers = new String[1] { artist };
file.Save();