2012-11-06 64 views
1

我设置麦克风(NAudio.WaveIn)44100Hz的采样率。但是当我使用WaveInDataAvailible(对象发件人,WaveInEventArgs e)。在e.Buffer中,我有4410,而不是44100个元素。为什么这使我少测量10次?NAudio C中的麦克风缓冲区#

回答

5

这是因为你的缓冲区大小是50ms。每个缓冲区包含2205个采样,并且由于它们是16位(2个字节),因此缓冲区中有4410个字节。

+0

如果我使用8位,我也有4410字节的缓冲区。 Naudio给我缓冲100ms? – EXTRAM

+0

是的,可以使用DesiredLatency和NumberOfBuffers属性来配置缓冲区的数量和缓冲区的持续时间。通常你有两个缓冲区,所以如果你的延迟时间为200ms,那么会有两个100ms的缓冲区。 –