2014-10-31 2 views
1

Я использую TagLib острую библиотеку, чтобы удалить все теги из моих песен с командойКак удалить тег Lyrics3 v2 из id3?

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?

ответ

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.

+0

Это работает. Спасибо, Брайан. Знаете ли вы, что тег Lyrics3 будет поддерживаться в TagLib #? Последняя официальная версия 2.1.0 была выпущена более 2 лет назад, AFAIK. – PeterCo

+1

Наверное, нет. Похоже, что проект поддерживается только для обслуживания (в лучшем случае), и если он активен, тег Lyrics3 все еще довольно неясен и не подходит для остальных схем тегов. TagLib # поддерживает рамку Synchronized Lyrics ID3v2.3 через [SynchronizedLyricsFrame] (https://github.com/mono/taglib-sharp/blob/a5f6949a53d09ce63ee7495580d6802921a21f14/src/TagLib/Id3v2/Frames/SynchronizedLyricsFrame.cs). Не уверен, насколько широко это поддерживается в других местах. –

+0

Если кто-то заинтересован в решении, то, пожалуйста, см. Этот ответ: http://stackoverflow.com/questions/36963163/is-it-possible-using-taglibsharp-to-remove-a-lyrics3v2-tag-from-a- mp3-файл/37068114 # 37068114 – ElektroStudios

Смежные вопросы