Библиотека С# ID3, которая поддерживает настраиваемые поля

В настоящее время я использую TagLib Sharp, как было предложено в одном из сообщений @stackoverflow для чтения id3-Tag из mp3, flac, ogg и подобных мультимедийных файлов.. теперь я только понял, что id3v2 (возможно, даже v1) поддерживает пользовательские теги, но я не могу найти реализацию для чтения/записи пользовательских тегов в TagLib Sharp. Кто-нибудь знает библиотеку, которая поддерживает пользовательские поля?

Christian

--- Обновление 20100422 ---

Еще поиск.. нашел эту страницу:

http://id3.org/Implementations

Ответ 1

Вы можете попробовать добавить новый фрейм (вместо всего нового пользовательского тега). В качестве примера, если вы хотите добавить новый TXXX-кадр "Acoustid Duration" в существующий файл *.mp3, вы можете использовать taglib-sharp library и что-то вроде

Dim MyTaglibMP3 As TagLib.File = TagLib.File.Create("C:\temp\I'm Alive.mp3")
Dim id3v2tag As TagLib.Id3v2.Tag = CType(MyTaglibMP3.GetTag(TagLib.TagTypes.Id3v2), TagLib.Id3v2.Tag)
Dim AcoustidDurationTXXXFrame As New TagLib.Id3v2.UserTextInformationFrame("Acoustid Duration", TagLib.StringType.UTF16)
AcoustidDurationTXXXFrame.Text = {"207"}
id3v2tag.AddFrame(AcoustidDurationTXXXFrame)
...
MyTaglibMP3.Save()
MyTaglibMP3.Dispose()

Конечно, это работает с любыми другими уже определенными типами id3v2, такими как "КомментарииFrame", "PrivateFrame", "TextInformationFrame" и даже "UnsynchronisedLyricsFrame".

Если вы не хотите, чтобы id3v2tag был закодирован с помощью UTF-16, выберите другой TagLib.StringType

Ответ 3

В этой статье о codeproject есть библиотека, которая поддерживает теги любого типа (включая пользовательские теги). Я использовал его давно, но я помню, что он поддерживает пользовательские теги. Но я думаю, что TagLib более надежный.

http://www.codeproject.com/KB/cs/Do_Anything_With_ID3.aspx