目前,我正在使用stackoverflow中推荐的TagLib Sharp来读取mp3、flac、ogg和类似的多媒体文件中的id3-Tag。现在我才意识到,id3v2 (甚至可能是v1)支持自定义标记,但我在TagLib Sharp中找不到用于读取/写入自定义标记的实现。有没有人知道支持自定义字段的库?
克里斯蒂安
--更新20100422
仍在搜寻中..找到这个页面:
http://id3.org/Implementations
发布于 2013-07-24 22:50:19
您可以尝试添加一个新框架(而不是整个新的自定义标签)。例如,如果您想要向现有的*.mp3文件添加一个新的"Acoustid Duration“TXXX帧,您可以使用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类型,比如"CommentsFrame“、"PrivateFrame”、"TextInformationFrame“甚至"UnsynchronisedLyricsFrame”。
如果不希望使用UTF-16对id3v2tag进行编码,请选择其他TagLib.StringType
发布于 2011-04-16 06:01:17
你有没有试过用csid3lib做这个?
http://sourceforge.net/projects/csid3lib/
发布于 2011-04-17 23:47:07
这篇关于codeproject的文章有一个库,它支持任何类型的标签(包括自定义标签)。我很久以前就用过它了,但我记得它支持自定义标签。但我认为TagLib更健壮。
http://www.codeproject.com/KB/cs/Do_Anything_With_ID3.aspx
https://stackoverflow.com/questions/2301514
复制相似问题