使用.NET Framework捕获麦克风音频流

时间:2009-02-04 04:02:37

标签: .net audio input stream microphone

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

谢谢!

2 个答案:

答案 0 :(得分:24)

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

至于使用LAME编码MP3,我见过的一种方法是通过stdin将音频传递给lame.exe并从stdout读取mp3。我认为这比获取LAME DLL和为其编写interop包装更容易。

更新:我创建了一个示例项目,使用NAudio从麦克风录制,LAME在http://voicerecorder.codeplex.com保存为MP3。请参阅我在Coding4Fun here的文章。

答案 1 :(得分:1)

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

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

干杯。