从麦克风实时播放音频。 C#

我期待创建一个应用程序,允许我从我的麦克风录制并通过其他电脑播放录音。 在这一点上,我只是希望它能在我自己的电脑上播放,所以我可以让它工作。

过去几个小时我一直在看NAudio,看起来它可以帮助我实现这个目标。

我只是想知道是否有其他人有这方面的经验,如果可能的话?

谢谢,斯图尔特

codeproject上有一个示例项目:
http://www.codeproject.com/KB/cs/Streaming_wave_audio.aspx
我不知道延迟有多低。

作为编解码器,我推荐Speex(至少用于演讲)。 它是免费的,开源的,并提供低延迟和低带宽。

低音音频库是另一个值得研究的可靠选择。

这是可能的,但你不太可能通过WaveIn / WaveOut获得低延迟(使用WASAPI可能会获得更好的结果)。 您可以使用BufferedWaveProvider (在最新的源代码中)存储从麦克风录制的音频并将输出提供给声卡。

NAudio非常适合作为音频捕获和播放的起点,但Mark指出延迟可能是一个问题。

如果您采取下一步并希望通过网络发送音频数据,则需要编解码器来压缩数据,因为PCM或WAV是未压缩的,而对于语音,您只需要WAV所需的一小部分带宽。 当您使用C#时,有一个可用的Speex的C#端口,名为NSpeex ,可能值得一看……