C # ID3 библиотека, которая поддерживает настраиваемые поля - PullRequest
10 голосов
/ 20 февраля 2010

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

Christian

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

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

http://id3.org/Implementations

Ответы [ 3 ]

3 голосов
/ 24 июля 2013

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

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, такими как «CommentsFrame», «PrivateFrame», «TextInformationFrame» и даже «UnsynchronisedLyricsFrame».

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

1 голос
/ 17 апреля 2011

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

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

1 голос
/ 16 апреля 2011

Вы пытались сделать это с помощью csid3lib?

http://sourceforge.net/projects/csid3lib/

...