Можно ли связывать одно и то же аудиоустройство в разных API?
Вопрос
Я использую API WinMM, чтобы справиться с аудио. я использую waveInGetDeviceCaps
а также waveInMessage
Чтобы уникально определить «аудио -линию». Все работает нормально, за исключением того, что в Vista название устройства ограничено 32 Chars WaveInCaps
структура
Чтобы обойти это, я представляю использовать основной API, когда версия ОС> = Vista. Я использую IMMDeviceEnumerator.GetDevice
а также IMMDeviceEnumerator.EnumAudioEndpoints
Чтобы собрать информацию о линии аудио, но я не уверен, как сказать, что одно устройство под Core API относится к одной записи под API Wabexx.
Я предполагаю, что я мог бы сравнить путь устройства обоих, но это противоречит рекомендации MS о том, чтобы рассматривать строку пути устройства как «непрозрачную».
Что бы вы сказали?
Решение
Этот сценарий описан в http://msdn.microsoft.com/en-us/library/dd370819(vs.85).aspx