我正在使用winmm api来处理音频。我正在使用waveInGetDeviceCaps
和waveInMessage
来唯一标识“音频线”。一切正常,但在Vista中,设备的名称由WaveInCaps
结构封装在32个字符中。
要解决这个问题,我想要在操作系统版本为> = Vista时使用核心API。我正在使用IMMDeviceEnumerator.GetDevice
和IMMDeviceEnumerator.EnumAudioEndpoints
收集音频线信息,但我不知道如何判断核心api下的一个设备与waveXx api下的一个条目有关。
我想我可以比较两者的设备路径,但这会违反MS建议将设备路径字符串视为“不透明”。
你会说什么?