如何从ID3删除Lyrics3 V2的标签?(How to remove Lyrics3 v2 ta

2019-10-21 05:08发布

我使用taglib尖锐库从我的歌曲的命令删除所有标签

Track = TagLib.File.Create("C:\test\Super Trouper.mp3")
Track.RemoveTags(TagLib.TagTypes.AllTags)
Track.Save()
Track.Dispose()

不幸的是, .RemoveTags不删除Lyrics3 V2.0标签
(这里指定: http://id3.org/Lyrics3v2 )。

这种标签可以与像“MP3 Diags(诊断)”的工具来检测( http://mp3diags.sourceforge.net/ )

我如何能彻底清除从我的歌所有标签和所有的帧?

或者我怎么能删除此特定Lyrics3 V2的标签?

Answer 1:

不幸的是,标签库#不支持Lyrics3标签。 在MP3文件,标签库#将检测并只能删除APE,ID3V1,和ID3v2标签。

节能与标签库#去除标签的文件后,你可以做类似的用自己的代码如下:

  1. 打开一个文件流。
  2. 寻求长度- 9,读9个字节,看看他们是否等于LYRICS200LYRICSEND 。 如果没有,关闭文件。
  3. 寻找回11个字节。
  4. 读11个字节,如果它们匹配检查LYRICSBEGIN 。 如果是这样,截断在该点的文件。
  5. 如果没有,继续寻找回来1个字节,并重复步骤4之后10KB左右可能会放弃。

这不是最有效的策略,但我想象的文件,这些标签的数量是相当低,因此大多数步骤2后应该停止。



文章来源: How to remove Lyrics3 v2 tag from id3?