我正在创建一个视频聊天应用程序,但是流麦克风音频时遇到了问题。我已经有视频流在工作,但是我希望找到捕获笔记本电脑内置麦克风并进行流传输的最佳方法。目前,我正在使用NetworkStream发送视频。我对NAudio(http://naudio.codeplex.com/)的经验有限,但是麦克风捕获的每个示例似乎都不包含New Audio Frame事件(这是我发送视频帧的方法)。

我一直在查看http://voicerecorder.codeplex.com/,但这似乎超出了我的需求,并且不涉及流式传输。

如果可能,如何捕获麦克风音频并进行流传输,而又没有将音频保存到文件的开销?我希望能看到一个简单的例子。

最佳答案

创建一个新的WaveIn对象
致电StartRecording
DataAvailable事件处理程序中,通过网络从args.BytesRecorded传输args.Buffer字节。


请注意,这将意味着您正在传输PCM,效率不是很高。通常,对于网络流传输,您将使用编解码器。在NAudioDemo源代码中,有一个网络聊天演示程序演示了此操作。

关于c# - 麦克风的音频流,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17330545/

10-12 00:25
查看更多