2009-12-18 4 views
2

Я очень смущен тем, как звуковые устройства/линии/конечные точки названы в окнах (Vista).Смутно о том, как Windows получает имена звуковых строк

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

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

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

Где что "3-" приходит от?

ответ

2

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

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

+4

Почти полностью справа -: 3- это диссоциатор, применяемый аудиоподсистемой для различения идентично названных устройств. Когда мы создаем имя конечной точки, мы смотрим на ряд факторов: форма формы endpoint создает «Микрофон», «Динамики», «Линейный вход» и т. Д. Часть имени и имя производителя создают «USB Audio Device», часть. Если система находит несколько конечных точек с одинаковыми именами, они устраняют их неоднозначность, помещая « -» перед именем. –