我需要从我的应用程序中的麦克风捕获输入流,该应用程序是用VB.NET编写的。我需要能够将此数据流传输到文件或通过HTTP,并可能使用LAME MP3对其进行编码。有人可以帮助我开始吗?
谢谢!
如果需要.NET解决方案,则可以签出NAudio,这是一个开放源音频库。查看WaveInStream
类(或最新代码中的WaveIn
)。这样您就可以打开麦克风,并接收包含最新捕获的字节的事件。然后将其传递到流中将非常容易。
关于使用LAME编码MP3,我见过的一种方法是通过stdin将音频传递给lame.exe,并从stdout读取mp3。我认为这比掌握LAME DLL并为其编写互操作包装器容易。
更新:我创建了一个示例项目,该项目使用NAudio从麦克风录制,并使用LAME另存为http://voicerecorder.codeplex.com的MP3。请参阅我在Coding4Fun here上的文章。
也许不是最新的经验,但是我记得我在玩http://nyxtom.vox.com/library/post/recording-audio-in-c.html
对于更专业的事情,您可能需要看一下DirectSound API。
欢呼声。