使用 .NET Framework 捕获麦克风音频流
Posted
技术标签:
【中文标题】使用 .NET Framework 捕获麦克风音频流【英文标题】:Capture a Microphone Audio Stream Using .NET Framework 【发布时间】:2010-10-05 07:58:25 【问题描述】:我需要在我的应用程序中捕获来自麦克风的输入流,该应用程序是用 VB.NET 编写的。我需要能够将这些数据流式传输到文件或通过 HTTP,并可能使用 LAME MP3 对其进行编码。有人可以帮我开始吗?
谢谢!
【问题讨论】:
【参考方案1】:如果您需要 .NET 解决方案,您可以查看NAudio,它是一个开源音频库。查看WaveInStream
类(或最新代码中的WaveIn
)。这将让您打开麦克风,并接收包含最新捕获字节的事件。这将很容易传递给流。
至于使用 LAME 编码 MP3,我见过的一种方法是通过标准输入将音频传递给 lame.exe,然后从标准输出读取 mp3。我认为这比获取 LAME DLL 并为其编写互操作包装器更容易。
更新:我创建了一个示例项目,该项目使用 NAudio 从麦克风录制,并使用 LAME 在http://voicerecorder.codeplex.com 保存为 MP3。请参阅我在 Coding4Fun here 的文章。
【讨论】:
我知道已经有一段时间了,但我终于解决了这个问题!谢谢,马克。 GitHub 中的示例:github.com/markheath/voicerecorder【参考方案2】:也许不是最新的体验,但我记得我在玩http://nyxtom.vox.com/library/post/recording-audio-in-c.html
对于更专业的事情,您可能需要查看 DirectSound API。
干杯。
【讨论】:
以上是关于使用 .NET Framework 捕获麦克风音频流的主要内容,如果未能解决你的问题,请参考以下文章