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