2008-11-13 166 views

回答

2

我知道我迟到了,但如果有人想具体的资料,这里的自由之路机的链接:

http://web.archive.org/web/20140122195044/http://www.codeproject.com/Articles/15332/Assembly-to-Read-and-Write-Ogg-Tags-Vorbis-FLAC-an

按照StackOverflow的规则,并在上面甚至链接情况迷路,这里的文章的文本和图形的“网络双曲正弦”礼貌,MetatOGGer,LyricWiki和Xiph媒体编码器的开发者:

对于我的免费软件项目,MetatOGGer,我需要一个托管库的读写标签包含在Ogg和FLAC流。正如我找不到任何东西,我决定自己写一个。

该库支持的编解码器包括Vorbis,FLAC和Speex。关于Ogg和FLAC文件的技术信息也可以使用这个库获得。

文本标签将被存储在一个SortedList<string, List<string>>,因为你可以有几个相同的标记,如“艺术家”等图片标签将与BitmapFrame属性(Windows图像处理组件)存储的ID3PictureFrame一个收藏。

使用OggPageReader类可以读取Ogg流中的任何原始数据。使用OggTaggerFlacTagger是非常容易的。源代码完整记录(法文)。下面是主要的类图:

Class diagram

和主代码片段:

using Luminescence.Xiph; 
OggTagger ogg = new OggTagger(@"C:\Song.ogg"); 

// Load duration 
DateTime time = new DateTime(0); 
time = time.AddSeconds(ogg.Duration); 

// Tags manipulation 
string artist = ogg.Artist; 
ogg.Title = "Creep"; 
SortedList<string, List<string>> tags = ogg.GetAllTags(); 
BitmapFrame cover = ogg.FlacArts[0].Picture;