Существует ли риск повреждения при удалении тегов ID3v1 + ID3v2 в музыкальном файле?
Я всегда использовал сторонние CLI-приложения для управления своей коллекцией музыки, теперь я хочу самостоятельно управлять кодировкой моей коллекции, что бы я ни делал, используя библиотеки... но я не эксперт в этом программировании музыкальных вещей.
Мне нужна библиотека ID3 (конечно, я хочу самое лучшее!), Чтобы удалить (не записать) все теги ID3v1 и ID3v2 из всех mp3-файлов, я видел id3lib, но это для C++, поэтому я решил попробовать UltraId3Lib, который для.NET библиотека полностью объектно-ориентирована, проста в использовании и кажется очень эффективной... но также выглядит несколько устаревшей: http://home.fuse.net/honnert/UltraID3Lib/
Мой первый вопрос: если библиотека, которую я выбрал, хороша и эффективна, или, может быть, существует лучшая библиотека ID3 для.NET (и простая в использовании, помните, я не эксперт по заголовкам mp3 и тому подобному).
Мой второй и самый важный вопрос: могу ли я испортить / повредить mp3-файл при попытке удалить теги id3v1+id3v2 из файла (я не имею в виду человеческую ошибку), и если да, то какие причины могут испортить аудиоданные mp3? или, может быть, мне не нужно беспокоиться о "пространстве байтов", в котором теги ID3 будут записываться / удаляться?
... Или, другими словами, спросить то же самое: тег ID3v1/ID3v2 может повредить mp3-файл? если да то почему? в каких обстоятельствах?
2 ответа
Первый ответ: я предлагаю использовать TagLib-Sharp в качестве библиотеки ID3 для.NET
Второй ответ: Пока вы используете хорошо известную библиотеку ID3, ваш риск повреждения музыкального файла очень низок. Но (как всегда и с любым программным обеспечением) это не ноль. Поэтому я бы порекомендовал протестировать ваше собственное приложение с файлами *.mp3, которые вы предварительно скопировали.
Также может возникнуть ситуация, когда теги ID3 были записаны в файлы, не соответствующие спецификациям ID3.org. Тогда риск повреждения файлов будет выше. В таких редких случаях у вас есть три варианта:
а) Восстановить его из резервной копии
б) Снова скопируйте их из исходного источника (CD, LP, кассета)
в) Загрузите его снова с вашего официального рынка (Amazon, iTunes и т. д.).
В соответствии со спецификациями ID3 тег ID3v1/ID3v2 сохраняется в первых байтах до или в конце после "части музыкальных данных" ваших mp3-файлов. Пока вы удаляете только эту начальную / конечную часть, вы не повредите свою часть песни.
Ну, я не уверен, насколько легко испортить mp3-файл при удалении тегов, но есть пост о том, как удалить теги вручную (в коде).
Но если вы хотите использовать библиотеку, всегда есть TagLib-Sharp.
Использовать
RemoveTags()
метод.
file.RemoveTags(tagtypes);
куда
tagtypes
этоTagType
битовая маска для тегов, которые вы хотите удалить. Для Id3v1 и Id3v2 попробуйте,
file.RemoveTags(TagTypes.Id3v1 && TagTypes.Id3v2);
Взято из этого поста.