【问题标题】:How to get channel count from MMDevice?如何从 MMDevice 获取通道数?
【发布时间】:2015-10-09 21:33:21
【问题描述】:

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

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

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

可以从 MMDevice 中找到吗?

【问题讨论】:

标签: windows visual-studio audio wasapi


【解决方案1】:

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

这是一个例子:

mic_in.Device = micdevices[waveInIndex];

int  mic_in_chanNo = AudioMeterInformation.FromDevice(mic_in.Device).MeteringChannelCount;

【讨论】:

    猜你喜欢
    • 2020-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多