Запутался в том, как Windows получает имена аудио линий - PullRequest
2 голосов
/ 18 декабря 2009

Меня очень смущает, как аудиоустройства / линии / конечные точки называются в windows (vista).

  • Сначала захожу в панель управления апплета "Звук". Среди прочего, я нахожу одну строку ввода, которая физически находится на USB Audio Device. Название «записывающего устройства» в апплете:
    Микрофон
    3- USB аудиоустройство Работа

  • Из waveInGetDeviceCaps я получаю
    Микрофон (3-USB Audio Device обратите внимание на отсутствие закрывающей скобки

  • В IMMDevice.IPropertyStore я вижу два свойства, которые я могу извлечь name. Один из них говорит
    Микрофон
    а другой говорит USB Audio Device

Откуда это "3-" взято?

1 Ответ

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

«3-» зависит от USB-порта, к которому вы подключаете устройство. Если вы переместите устройство на другой USB-порт, оно получит другой номер. Это позволяет однозначно идентифицировать одни и те же устройства, подключенные к разным портам. CoreAudio API использует истинный идентификатор (во многом как GUID) для идентификации каждого устройства, поэтому ему не нужно кодировать различия в имени устройства.

Имейте в виду, это мое мнение об использовании звуковых устройств USB и API MME и CoreAudio. Правдивая история, вероятно, может быть найдена в DDK, или от людей Microsoft.

...