1

我正在开发一个 Windows 音频应用程序,并且正在使用 MMDeviceEnumerator 来浏览所有可用的音频接口。这最终得到了一个 MMDevice,它给了我一些关于设备本身的信息。

我想获得设备提供的频道总数。目前,我正在使用属性存储来返回当前的 WAV 格式,但这会返回 Windows 为“共享”模式指定的格式。使用 Focusrite 18i8,Windows 指示此设备有 2 个通道,这正是设备高级设置的“默认格式”中指定的内容。Windows 本身不会让我在默认格式中指定 2 个输入通道以外的任何内容。

问题是,这个设备有 18 个输入通道,我想使用 Wasapi 以独占模式打开它并访问所有通道。我不确定如何找出音频设备实际有多少“真实”通道。

这可以从 MMDevice 中找到吗?

4

1 回答 1

0

通过使用CSCore,您可以使用AudioMeterInformationClass 获取此信息。

这是一个例子:

mic_in.Device = micdevices[waveInIndex];

int  mic_in_chanNo = AudioMeterInformation.FromDevice(mic_in.Device).MeteringChannelCount;
于 2016-04-13T05:16:27.497 回答