You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TagLib-Sharp编辑mp3的id3v2标签时Comment属性修改无效如何解决

问题原因

ID3v2标准中评论(COMM)帧支持多语言、多描述字段的多条评论,TagLib#默认的Tag.Comment属性写入的COMM帧不符合Windows资源管理器的读取规则,因此修改属性后不会在资源管理器的评论字段中显示。

修复方案

直接手动构造符合Windows读取规则的COMM帧即可,完整代码如下:

var file = TagLib.File.Create(myFile.FullName);
// 第二个参数为true表示如果文件不存在ID3v2标签则自动创建
TagLib.Id3v2.Tag tag = (TagLib.Id3v2.Tag)file.GetTag(TagTypes.Id3v2, true);

// 先移除所有现有COMM帧,避免旧标签冲突
tag.RemoveFrames("COMM");

// 手动构造COMM帧,参数依次为:帧描述(留空才能被Windows识别)、编码格式、3位语言编码(固定为eng)
var commentFrame = new TagLib.Id3v2.CommentsFrame("", TagLib.StringType.UTF16, "eng");
commentFrame.Text = link;
tag.AddFrame(commentFrame);

// 其余标签正常赋值
tag.Title = songname;
tag.Performers = artists;

// 保存时指定使用ID3v2.4版本写入,兼容性最好
file.Save(new TagLib.Id3v2.Tag.SaveOptions { WriteVersion = 4 });

注意事项

  • 选择StringType.UTF16编码可以避免链接含特殊字符时出现乱码,Windows资源管理器对该编码的兼容性最优
  • 修改完成后如果没有立刻看到效果,刷新资源管理器窗口或重新打开文件属性页即可生效

内容的提问来源于stack exchange,提问作者hudriwudi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:18:03