首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在tagLib锐器中添加自定义标记

在tagLib锐器中添加自定义标记
EN

Stack Overflow用户
提问于 2017-10-14 12:54:16
回答 2查看 1.6K关注 0票数 14

我想把文字添加到一个自定义标签,一个MP3文件。我试着做像这样,但是我无法让标签改变。

这是我现在的代码:

代码语言:javascript
复制
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();

我让相册标签改变,但不是蛋白型标签。我是不是遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-24 15:34:24

不幸的是,Id3v2有一个集合规范,它不允许自定义标记,如定义的这里

您从另一个问题引用的代码确实有效,您只需要包含reader方法就可以返回私有帧数据。

还请参见Unix上的这个问题,其中有人遇到了同样的问题--另一种解决方案可能是使用UserDefinedText标记。

票数 5
EN

Stack Overflow用户

发布于 2020-04-10 12:19:22

TagLib允许将自定义标头设置为定义的这里

代码语言:javascript
复制
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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46744805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档