2

libFLAC 库是否有 .net c# 包装器?如果没有,我如何在 .net 框架 c# 应用程序中使用 libFLAC 读取 FLAC 标签?如果两者都没有,是否有其他开源库可以读取 c# 中的 flac 标签?

谢谢!

4

2 回答 2

5

一篇关于 CodeProject 的文章可能对您有用。

于 2008-11-13T19:00:26.980 回答
2

我知道我迟到了,但如果有人想要这些具体信息,这里是 Wayback 机器的链接:

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 媒体编码器的开发者“Cyber​​ Sinh”提供:

对于我的免费软件项目 MetatOGGer,我需要一个托管库来读取和写入 Ogg 和 FLAC 流中包含的标签。由于找不到,我决定自己写一个。

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

文本标签将存储在一个中,SortedList<string, List<string>>因为您可以有几个相同的标签,例如“艺术家”等。图片标签将存储在一个ID3PictureFrame带有BitmapFrame属性的集合中(Windows Imaging Component)。

OggPageReader可以使用该类读取 Ogg 流中的任何原始数据。

OggTagger和的使用FlacTagger非常简单。源代码有完整的文档(法语)。这是主要类的图表:

类图

主要代码片段:

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;
于 2016-07-20T16:09:46.367 回答