支持自定义字段的C#ID3库

时间:2010-02-20 08:00:12

标签: c# .net mp3 id3

目前我正在使用TagLib Sharp,其中一篇帖子@stackoverflow用于读取mp3,flac,ogg和类似的多媒体文件中的id3-Tag ..现在我才意识到,id3v2(甚至可能是v1)支持自定义标签,但我找不到在TagLib夏普中读/写自定义标签的实现。 有人知道支持自定义字段的库吗?

基督教

---更新20100422 ---

仍在搜索..找到了这个页面:

http://id3.org/Implementations

3 个答案:

答案 0 :(得分:3)

您可以尝试添加新框架(而不是整个新自定义标记)。例如,如果要将新的“Acoustid Duration”TXXX-Frame添加到现有的* .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类型,如“CommentsFrame”,“PrivateFrame”,“TextInformationFrame”甚至“UnsynchronisedLyricsFrame”。

如果您不希望id3v2tag用UTF-16编码,请选择另一个TagLib.StringType

答案 1 :(得分:1)

您是否尝试过使用csid3lib?

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

答案 2 :(得分:1)

这篇关于codeproject的文章有一个支持任何类型标记(包括自定义标记)的库。我很久以前就用它了,但我记得它支持自定义标签。 但我认为TagLib更强大。

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