Можно ли связать одно и то же аудиоустройство в разных API? - PullRequest
2 голосов
/ 18 декабря 2009

Я использую winmm api для работы со звуком. Я использую waveInGetDeviceCaps и waveInMessage, чтобы однозначно идентифицировать «звуковую линию». Все работает нормально, за исключением того, что в Vista имя устройства ограничено 32 символами структурой WaveInCaps.

Чтобы обойти это, я предполагаю использовать основные API, когда версия ОС> = Vista. Я использую IMMDeviceEnumerator.GetDevice и IMMDeviceEnumerator.EnumAudioEndpoints для сбора информации о звуковых линиях, но я не уверен, как сказать, что одно устройство под API ядра относится к одной записи под API WaveXX.

Полагаю, я мог бы сравнить путь к обоим устройствам, но это противоречило бы рекомендации MS рассматривать строку пути к устройствам как "непрозрачную".

Что бы вы сказали?

1 Ответ

3 голосов
/ 19 декабря 2009

Этот сценарий описан в http://msdn.microsoft.com/en-us/library/dd370819(VS.85).aspx

...