我正在做一个音乐专辑库。该程序应该连接到像FreeDB这样的数据库然后存储它。
目前,这只是一个概念,我想知道是否可以这样做。真正的问题是,有没有办法从CD获取数据,就像在Windows Media Player中播放光盘时所发生的那样?我做了一些研究,我发现了ID3和mp3,但我不认为它会有任何领先,因为曲目是.cda。
我正在学习编程(文凭)。 有什么建议吗?
答案 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行业标准。