16

我需要在我的应用程序中捕获来自麦克风的输入流,该应用程序是用 VB.NET 编写的。我需要能够将这些数据流式传输到文件或通过 HTTP,并可能使用 LAME MP3 对其进行编码。有人可以帮我开始吗?

谢谢!

4

2 回答 2

27

如果您想要一个 .NET 解决方案,您可以查看NAudio,它是一个开源音频库。查看WaveInStream类(或WaveIn最新代码)。这将让您打开麦克风,并接收包含最新捕获字节的事件。这将很容易传递给流。

至于使用 LAME 编码 MP3,我见过的一种方法是通过标准输入将音频传递给 lame.exe,然后从标准输出读取 mp3。我认为这比获取 LAME DLL 并为其编写互操作包装器更容易。

更新:我创建了一个示例项目,它使用 NAudio 从麦克风录制,并在http://voicerecorder.codeplex.com上将 LAME 保存为 MP3 。在此处查看我在 Coding4Fun 上的文章。

于 2009-02-04T07:43:42.873 回答
1

也许不是最新的体验,但我记得我在玩http://nyxtom.vox.com/library/post/recording-audio-in-c.html

对于更专业的事情,您可能需要查看 DirectSound API。

干杯。

于 2009-02-04T04:07:38.240 回答