在C#中将CD翻录为mp3 - 第三方组件或api在那里?

时间:2008-10-08 22:43:29

标签: c# mp3 id3 ripping

我们正在开展一个项目,需要将音频曲目从CD转录到MP3(理想情况下还要从CDDB或类似设备中检索曲目信息)。

更多背景信息:各种音乐标签向我们发送音乐CD,然后我们通过在线传送系统向人们发送。我们正在考虑尽可能自动化将这些CD转换为具有完整音轨信息的MP3的过程。我们希望制作一个简单的桌面应用程序,允许编辑人员设置有关我们收到的新音乐的信息。为简化流程,我们希望包括翻录音频和检索曲目信息。

4 个答案:

答案 0 :(得分:8)

您可以通过COM互操作访问Windows Media Player控件库来完成所有这些操作(例如,IWMPCdromRip界面涵盖CD翻录)。它不漂亮,并且看起来不是很可控(你给它一个轨道列表来翻录,告诉它撕裂,它撕裂它们并将它们放入WMP库 - 然后你可以自动化并从中获取轨道)它可以端到端地工作,包括查询曲目数据和专辑封面。看看http://msdn.microsoft.com/en-us/library/bb262437(VS.85).aspx即可开始使用。

快速谷歌还发现了对CodeProject文章的引用,其中作者通过插入低级IOCTL API创建了一个CD翻录库,直接与CD驱动器交互。这可能是构建自己的良好起点 - 在http://www.codeproject.com/KB/cs/csharpripper.aspx找到它。

同一作者使用LAME组合了一个C#编码器,尽管你可以直接链接到LAME.EXE,这可能更简单。请参阅http://www.codeproject.com/KB/audio-video/MP3Compressor.aspx

查询CDDB(或者更可能是FREEDB)并不是火箭科学,它是一个简单的HTTP接口(虽然奇怪的是我找不到任何Web服务)。使用WebRequest很容易。

你认为有人会为此安排一个简单的C#库,但这似乎是一个不常见的请求。也许是一个侧面项目的时间......

答案 1 :(得分:0)

我不知道翻录CD。

翻录音频数据后,您可以使用LAME

对其进行编码

答案 2 :(得分:0)

要了解如何访问freedb Find the CD,它还会显示如何获取TOC并为光盘构建指纹。至于直接使用CD的最佳方式 - 谁知道!微软已经在创建某种多媒体API方面做了如此多的错误开始 - 它可以通过驱动程序IOCTL,directx,MCI或新的DVD刻录API。 就个人而言,我使用的是MCI - 它的旧版本,但几乎可以用于所有内容并完成我想做的事情。我也使用LAME作为压缩器,它也可以正常工作。

答案 3 :(得分:0)

也许很少有人知道全球使用的www.exactaudiocopy.de的作者正在向开发人员授权他的软件。他声称他的软件能够创建相同的副本,而其他库则不太准确。有开发人员许可和再分发许可。它们并不便宜,但是当你想拥有最好的产品时,它绝对是一种选择。