我正在使用CLEye驱动程序通过PS3Eye摄像机在NAudio中进行录制。
该摄像机具有4个麦克风阵列,并向系统显示4个音频通道。

默认情况下,所有通道均由NAudio录制。我正在录制PCM波形,并获取4通道WAV输出文件。

当我尝试在NAudio中播放文件时,我收到一个调用acmFormatSuggest的MmException'NoDriver'。立体声文件播放正常。

我的声卡只能输出2个通道,这似乎会导致错误。将我的Windows音频设置设置为Quadraphonic无法解决此问题。

也许我可以要求NAudio只录制2个通道,或者在某个地方实现我自己的WaveStream?

有人对NAudio中的通道数量进行下采样吗? (最好是在记录时间)。非常感谢!

最佳答案

它不像在WaveFormat中声明那样简单吗? 12000是采样率,“1”是通道数。

 waveInStream = new WaveIn(WaveCallbackInfo.FunctionCallback());
 waveInStream.WaveFormat = new WaveFormat(12000, 1);
 waveInStream.DeviceNumber = 2;

 AudioWriter = new WaveFileWriter("c:\\MyAudio.wav", waveInStream.WaveFormat);
 waveInStream.DataAvailable += waveInStream_DataAvailable;
 waveInStream.StartRecording();

多数民众赞成在我如何设置我的代码为基本的网络摄像头和立体声麦克风,它输出单声道WAV文件。

关于c# - 在NAudio中录音时减少 channel 数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7207866/

10-11 08:52