我正在开发一个应用程序,除其他外,它枚举所有输入音频设备(使用 SetupAPI
),然后对于每个音频设备,它列出所有输入音频线路(使用 winmm. dll
)。
基本上,我将两者联系起来的方式是从音频设备获取设备路径,然后使用 waveInMessage
比较音频线路的设备路径。
现在,我希望能够对 Windows 默认 [输入] 音频线 (WAVE_MAPPER
) 执行相同的操作。
问题在于,使用 waveInGetDevCaps
进行 WAVE_MAPPER
返回“Microsoft Sound Mapper”,并将 waveInMessage
与 DRV_QUERYDEVICEINTERFACE
一起使用> 返回一个空字符串。
关于如何找出 Microsoft Mapper 映射到哪个设备,有什么建议吗?
最佳答案
WAVE_MAPPER 映射到的设备取决于传递给waveInOpen 的参数。来自文档:
WAVE_MAPPER - The function selects a waveform-audio input device capable of recording in the specified format.
这意味着您无法在不实际打开设备的情况下检查设备属性。打开它后,您应该能够使用 waveInGetID
获取实际的设备 ID。
关于c# - 如何将 WAVE_MAPPER 音频线与其音频设备关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1883518/