使用C#从音频CD导入数据?

时间:2011-02-10 18:38:55

标签: c# .net audio-recording

我正在做一个音乐专辑库。该程序应该连接到像FreeDB这样的数据库然后存储它。

目前,这只是一个概念,我想知道是否可以这样做。真正的问题是,有没有办法从CD获取数据,就像在Windows Media Player中播放光盘时所发生的那样?我做了一些研究,我发现了ID3和mp3,但我不认为它会有任何领先,因为曲目是.cda。

我正在学习编程(文凭)。 有什么建议吗?

3 个答案:

答案 0 :(得分:4)

我找到了一个包含示例代码的教程,可以帮助您:http://www.codeproject.com/KB/audio-video/freedb.aspx

答案 1 :(得分:0)

如果您想从头开始编写所有代码,则需要了解Red Book。否则,您可能只想自动播放媒体播放器等内容。

答案 2 :(得分:0)

以下是基于我对Windows 98时代该功能背后的团队提供的不完整描述的模糊记忆。实施的细节是保密的,我对细节并不了解,自从我第一次尝试这个功能以来的13年左右,情况可能会发生很大的变化。

读入来自CD的二进制数据的代表性样本并将其转换为某种类似CRC的校验和或散列。校验和被发送到一个Web服务,该服务包含与这些校验和匹配的数据库到相册信息。

如果可能,确切的磁盘匹配;显然,在我自己的收藏中只有足够的冲突,我有时会看到可能的专辑列表。

Microsoft花费了大量资金建立这个数据库,数据包括与至少一家第三方公司的合作伙伴关系。您可以相当容易地构建概念证明,但您可能无法自己构建完整的数据库。但是,您可以使用像FreeDb这样的东西来构建自己的自定义服务。

此处以适度的细节解释了类似方法的示例:http://en.wikipedia.org/wiki/CDDB

新CD可能包含某种不同的标识符,但我不熟悉当前的CD行业标准。