0

我正在使用 CLEye 驱动程序使用 PS3Eye 相机在 NAudio 中录制。摄像头有一个 4 个麦克风阵列,并向系统呈现 4 个音频通道。

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

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

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

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

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

4

1 回答 1

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 文件。

于 2011-08-26T20:13:25.877 回答