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

时间:2010-10-13 13:27:17

标签: c# audio naudio

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

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

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

谢谢, 斯图尔特

4 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

Bass Audio Library是另一个值得研究的可靠选择。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

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