Taglib резкое сохранение ТОЛЬКО ID3v2

Я новичок в использовании TagLib Sharp. Я пытаюсь сохранить ТОЛЬКО определенную версию тега внутри файла. Каждый раз, когда я сохраняю тег, создаются как ID3v1, так и ID3v2. Есть ли способ предотвратить это? Могу ли я выбрать, какой из них я хочу сохранить. Функция сохранения не принимает никаких аргументов, так что есть идеи?


person user1098787    schedule 14.12.2011    source источник


Ответы (2)


Эти теги добавляются для удобства при создании объекта File. Правильный способ удаления вновь созданных тегов — выполнить следующую команду перед вызовом Save:

file.RemoveTags (file.TagTypes & ~file.TagTypesOnDisk);

Источник

person Brian Nickel♦    schedule 16.01.2012

Спасибо, Брайан.
Синтаксис C# "& ~" не так очевиден для пользователей VB.NET:

file.RemoveTags(file.TagTypes And Not file.TagTypesOnDisk)

@user1098787:
Если вы хотите написать конкретную версию id3v2, вы можете использовать эти команды

TagLib.Id3v2.Tag.DefaultVersion = 3
TagLib.Id3v2.Tag.ForceDefaultVersion = True

Возможные значения для DefaultVersion: 2 (id3v2.2), 3 (id3v2.3) или 4 (id3v2.4).

person PeterCo    schedule 25.07.2013