Как удалить тег Lyrics3 v2 из id3?
Я использую библиотеку taglib sharp, чтобы удалить все теги из моих песен с помощью команды
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?
1 ответ
К сожалению, TagLib# не поддерживает теги Lyrics3. В файле MP3 TagLib # обнаружит и сможет удалить только теги APE, Id3v1 и Id3v2.
После сохранения файла с тегами, удаленными TagLib#, вы можете сделать что-то вроде следующего с вашим собственным кодом:
- Откройте поток файлов.
- Найдите длину - 9, прочитайте 9 байтов и посмотрите, равны ли они
LYRICS200
или жеLYRICSEND
, Если нет, закройте файл. - Ищу обратно 11 байт.
- Чтение 11 байтов и проверка соответствия
LYRICSBEGIN
, Если это так, обрежьте файл в этой точке. - Если нет, продолжайте искать обратно 1 байт и повторять шаг 4. Вероятно, сдаться после 10 КБ или около того.
Это не самая эффективная стратегия, но я предполагаю, что число файлов с этими тегами довольно мало, поэтому большинство должно остановиться после шага 2.