在 tagLib sharp 中添加自定义标签
Add custom tag in tagLib sharp
我想将文本添加到自定义标签,添加到 MP3 文件。我试过 ,但无法更改标签。
这是我现在的代码:
TagLib.File f = TagLib.File.Create(@"C:\Users\spunit\Desktop\denna.mp3");
TagLib.Id3v2.Tag t = (TagLib.Id3v2.Tag)f.GetTag(TagTypes.Id3v2);
PrivateFrame p = PrivateFrame.Get(t, "albumtype", true);
p.PrivateData = System.Text.Encoding.Unicode.GetBytes("TAG CHANGED");
f.Tag.Album = "test";
f.Save();
我得到要更改的专辑标签,但不是专辑类型标签。我错过了什么吗?
不幸的是,Id3v2 有一套规范,不允许自定义标签,定义为 here。
您从 引用的代码确实有效,您只需要将 reader 方法包含到 return 私有帧数据中。
另请参阅 Unix Stack Exchange 上的 this question,其中有人遇到了同样的问题 - 另一种解决方案可能是使用 UserDefinedText
标记。
TagLib 允许设置自定义 headers 定义为 here。
var tfile = TagLib.File.Create(@"C:\My song.flac");
var custom = (TagLib.Ogg.XiphComment) tfile.GetTag(TagLib.TagTypes.Xiph);
// Read
string [] myfields = custom.GetField("MY_TAG");
Console.WriteLine("First MY_TAG entry: {0}", myfields[0]);
// Write
custom.SetField("MY_TAG", new string[] { "value1", "value2" });
custom.RemoveField("OTHER_FIELD");
rgFile.Save();
我想将文本添加到自定义标签,添加到 MP3 文件。我试过
这是我现在的代码:
TagLib.File f = TagLib.File.Create(@"C:\Users\spunit\Desktop\denna.mp3");
TagLib.Id3v2.Tag t = (TagLib.Id3v2.Tag)f.GetTag(TagTypes.Id3v2);
PrivateFrame p = PrivateFrame.Get(t, "albumtype", true);
p.PrivateData = System.Text.Encoding.Unicode.GetBytes("TAG CHANGED");
f.Tag.Album = "test";
f.Save();
我得到要更改的专辑标签,但不是专辑类型标签。我错过了什么吗?
不幸的是,Id3v2 有一套规范,不允许自定义标签,定义为 here。
您从
另请参阅 Unix Stack Exchange 上的 this question,其中有人遇到了同样的问题 - 另一种解决方案可能是使用 UserDefinedText
标记。
TagLib 允许设置自定义 headers 定义为 here。
var tfile = TagLib.File.Create(@"C:\My song.flac");
var custom = (TagLib.Ogg.XiphComment) tfile.GetTag(TagLib.TagTypes.Xiph);
// Read
string [] myfields = custom.GetField("MY_TAG");
Console.WriteLine("First MY_TAG entry: {0}", myfields[0]);
// Write
custom.SetField("MY_TAG", new string[] { "value1", "value2" });
custom.RemoveField("OTHER_FIELD");
rgFile.Save();