在tagLib sharp中添加自定义标记

时间:2017-10-14 12:54:16

标签: c# forms taglib-sharp

我想将文本添加到自定义标签,添加到MP3文件。我尝试了like this,但我无法更改标签。

这是我现在的代码:

    var fr = new FileReader();
    fr.onload = function(e) {
      var text = fr.result;
      console.log(text);
    };
    fr.readAsText(files[0]);

我会更改相册标签,但不会更改albumtype标签。我错过了什么吗?

2 个答案:

答案 0 :(得分:5)

不幸的是,Id3v2的设置规范不允许定义here的自定义标记。

您从another question引用的代码确实有效,您只需要包含reader方法即可返回私有帧数据。

另请参阅Unix Stack Exchange上的this question,其中有人遇到了同样的问题 - 另一种解决方案可能是使用UserDefinedText标记。

答案 1 :(得分:0)

TagLib允许按照定义的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();