我们正在开发一个项目,需要将音频曲目从CD转录到MP3(理想情况下还要从CDDB或类似设备中检索曲目信息).
更多背景信息:各种音乐标签向我们发送音乐CD,然后我们通过在线传送系统向人们发送.我们正在考虑尽可能自动化将这些CD转换为具有完整音轨信息的MP3的过程.我们希望制作一个简单的桌面应用程序,允许编辑人员设置有关我们收到的新音乐的信息.为了简化流程,我们希望包括翻录音频和检索曲目信息.
解决方法
您可以通过COM interop访问
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#库,但这似乎是一个不常见的请求.也许是一个侧面项目的时间……