TagLib: как отключить создание тегов TDAT TIME TYER при настройке TDRC

Я пытаюсь использовать TagLib# для сортировки некоторых тегов в моих MP3-файлах, поскольку у моего автозвука есть проблемы с содержимым некоторых тегов (не имеет значения для показа). Конечно, я хочу просто отсортировать теги, а не создавать новые или заменить существующие. В идеальном случае следует изменять только последовательность тегов в mp3-файле, поэтому размер файла не изменится.

К сожалению, я не могу найти способ просто переместить тег TDRC (новое определение для даты записи): как только я его установлю, TagLib решит что-то сделать для совместимости и сгенерирует также теги TYER и TDAT, и если время также присутствует в TDRC, затем он генерирует также тег TIME.

Есть ли способ отключить автогенерацию этих тегов при настройке TDRC? Я попытался просто скопировать TDRC как TextInformationFrame, без удачи.

Я использую последнюю версию TagLib и обрабатываю файлы MP3 с тегами id3v2.3.

1 ответ

Решение

Вы добавили информацию, которую используете Id3v2.3 с UTF16.

TDRC официально доступен только для id3v2.4. Если вы используете его с id3v2.3, вы создаете тег за пределами официального стандарта.

http://id3.org/ говорит для id3v2.4:

TDAT - дата / время - время / TYER - год
Этот кадр заменяется кадром TDRC, "Время записи" [F: 4.2.5]

TDRC
Кадр "Время записи" содержит метку времени, описывающую, когда был записан звук. Формат метки времени описан в документе структуры ID3v2 [ID3v2-strct].


Поля отметки времени основаны на подмножестве ISO 8601. При максимальной точности формат строки времени имеет формат гггг-мм-ддтчч: мм: сс (год, "-", месяц, "-", день, "T", час (из 24), ":", минуты,": ", секунды), но точность можно уменьшить, удалив столько временных индикаторов, сколько нужно.
Следовательно, действительными временными метками являются:
ггггггггг-мм, гггг-мм-дд, гггг-мм-ддтч, гггг-мм-ддтчч: мм и гггг-мм-ддтчч: мм: сс. Все отметки времени указаны в формате UTC. Для длительностей используйте символ косой черты, как описано в 8601, а для нескольких несмежных дат - несколько строк, если это разрешено определением фрейма.

Другие вопросы по тегам