我在使用 NAdio 库录制具有 6 或 8 个通道的 WASAPI 环回设备时遇到了问题。例如,设备具有以下波形:32 位 PCM:44kHz 6 通道 wBitsPerSample:32
public MMDevice Device;
private WasapiCapture _waveIn;
.....
.....
_waveIn = IsLoopback ? new WasapiLoopbackCapture(Device) : new WasapiCapture(Device);
_waveIn.DataAvailable += OnDataAvailable;
_waveIn.RecordingStopped += OnRecordingStopped;
_waveIn.StartRecording();
它在StartRecording上崩溃,出现“不支持的波形格式”错误错误来自 WasapiCapture.InitializeCaptureDevice() 调用时
if (!audioClient.IsFormatSupported(ShareMode, WaveFormat))
{
throw new ArgumentException("Unsupported Wave Format");
}
如果我使用 windows-> 控制面板_> 声音设置将设备切换到 2 通道,代码工作正常 有没有解决这个问题?我可以以某种方式即时更改设备混合格式吗