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

问题描述 投票:15回答:2

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

谢谢!

.net audio input stream microphone
2个回答
26
投票

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

关于使用LAME编码MP3,我见过的一种方法是通过stdin将音频传递给lame.exe,并从stdout读取mp3。我认为这比掌握LAME DLL并为其编写互操作包装器容易。

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


1
投票

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

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

欢呼声。

© www.soinside.com 2019 - 2024. All rights reserved.