我正在录制带有PS3眼镜头的NAudio,使用CLEye驱动程序。 该摄像机有一个4个麦克风阵列,可为系统提供4个音频通道。
默认情况下,所有频道都由NAudio录制。我正在录制PCM波,并获得一个4声道WAV输出文件。
当我尝试在NAudio中播放文件时,我收到一个调用acmFormatSuggest的MmException“NoDriver”。立体声文件播放正常。
我的声卡只能输出2个通道,这似乎会导致错误。将我的Windows音频设置设置为Quadraphonic无法解决此问题。
也许我可以要求NAudio只录制2个频道,或者在某个地方实现我自己的WaveStream?
有没有人想对NAudio中的频道数进行下采样? (最好是在创纪录的时间)。非常感谢!
答案 0 :(得分:0)
是不是像在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文件。