我正在开发一个Windows音频应用程序,并且正在使用MMDeviceEnumerator来浏览所有可用的音频接口。这样就可以获得一个MMDevice,它可以为我提供有关设备本身的一些信息。
我想获得设备提供的频道总数。目前,我使用属性存储区返回当前的WAV格式,但这会返回Windows为“共享”格式指定的格式。模式。使用Focusrite 18i8,Windows表示此设备有2个频道,这正是“默认格式”中指定的频道。设备高级设置。 Windows本身不允许我在默认格式中指定除2个输入通道之外的任何其他内容。
问题是,这个设备有18个输入通道,我想使用Wasapi以独占模式打开它,并获得对所有通道的访问权限。我不确定如何找出有多少真实的'音频设备实际拥有的频道。
可以从MMDevice找到吗?
答案 0 :(得分:0)
使用CSCore
,您可以使用AudioMeterInformation
类获取此信息。
以下是一个例子:
mic_in.Device = micdevices[waveInIndex];
int mic_in_chanNo = AudioMeterInformation.FromDevice(mic_in.Device).MeteringChannelCount;