【问题标题】:Remove TrackNumber of MP3's with TagLib使用 TagLib 删除 MP3 的 TrackNumber
【发布时间】:2026-01-10 14:20:08
【问题描述】:

我唯一能找到的是如何删除文件中的所有标签,这不是我想要的。像这样:

file.RemoveTags(TagLib.TagTypes.AllTags);

但我怎样才能只删除 TrackNumber?

【问题讨论】:

  • 调用 setTrack(0) 是我的猜测。从未使用过它,但这就是文档在这里所说的:taglib.github.io/api/…
  • 具体应该怎么写?我似乎无法弄清楚...

标签: c# forms mp3 taglib


【解决方案1】:

使用这个:

TagLib.File tag = TagLib.File.Create(@"File.mp3");
TagLib.Id3v2.Tag t = (TagLib.Id3v2.Tag)tag.GetTag(TagLib.TagTypes.Id3v2);
t.Track = 0;
tag.Save();

【讨论】:

  • 编辑:将其设置为“0”。
  • 将标签设置为 0 将有效地将标签设置为空。尝试一下。没有其他方法可以分配空值。
  • 嗯,代码给我一个“0”作为tracknumber...但是你之前提到的setTrack(0)呢?你没有在这里使用它,也许可以做到? “如果 s 为 0,那么这个值将被清除”——听起来像是我的目标。
  • 那是@RobertMcKee,不是我。 “好吧,代码给我一个“0”作为tracknumber” - 你如何检查它?使用t.Track 代码?
  • 哦,抱歉,没有意识到是另一个人。好吧,我通过在 Windows 中打开文件的属性来检查它,例如 spunit.tk/x/scrn3550.png