1

taglib Sharp ライブラリを使用して、コマンドで曲からすべてのタグを削除します

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

残念ながら、 はLyrics3 v2.0 タグ (ここで指定: http://id3.org/Lyrics3v2.RemoveTags )を削除しません。

このようなタグは、「Mp3 Diags」( http://mp3diags.sourceforge.net/ )などのツールで検出できます。

曲からすべてのタグとすべてのフレームを完全に削除するにはどうすればよいですか?

または、この特定の Lyrics3 v2 タグを削除するにはどうすればよいですか?

4

1 に答える 1

3

残念ながら、TagLib# は Lyrics3 タグをサポートしていません。MP3 ファイルでは、TagLib# は APE、Id3v1、および Id3v2 タグのみを検出して削除できます。

TagLib# によってタグが削除されたファイルを保存した後、独自のコードで次のようなことを行うことができます。

  1. ファイル ストリームを開きます。
  2. 長さ - 9 までシークし、9 バイトを読み取り、それらが等しいLYRICS200かどうかを確認しますLYRICSEND。そうでない場合は、ファイルを閉じます。
  3. 11 バイト戻ります。
  4. 11 バイトを読み取り、それらが一致するかどうかを確認しますLYRICSBEGIN。その場合は、その時点でファイルを切り捨てます。
  5. そうでない場合は、1 バイト戻って手順 4 を繰り返します。おそらく 10KB 程度であきらめます。

これは最も効率的な戦略ではありませんが、これらのタグを含むファイルの数は非常に少ないので、ほとんどのファイルはステップ 2 の後に停止する必要があると想像しています。

于 2014-11-05T20:59:55.037 に答える