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