Устройства аудиоконечной точки

Термин конечной точки устройство относится к аппаратному устройству, которое находится в одном конце пути данных, который возникает или завершается в программе приложения. Примерами устройств конечной точки аудио являются динамики, наушники, микрофоны и cd-проигрыватели. Звуковые данные, перемещаемые по пути к данным, могут пройти ряд компонентов программного обеспечения и оборудования во время его перехода между приложением и устройством конечной точки. Хотя эти компоненты важны для работы устройства конечной точки, они, как правило, невидимы для пользователей. Пользователи, скорее всего, думают о конечных точках, которые они напрямую управляют, а не с точки зрения устройств на аудиоадаптерах, которые подключаются к конечным точкам или с точки зрения компонентов программного обеспечения, обрабатывающих звуковые потоки, которые передаются в эти адаптеры и из них.

Чтобы избежать путаницы с устройствами конечных точек, эта документация ссылается на устройство на звуковом адаптере в качестве адаптера.

На следующей схеме показано, как устройства аудиоконечной точки отличаются от устройств адаптера.

examples of audio endpoint devices and adapter devices

На предыдущей схеме ниже приведены примеры устройств конечных точек:

  • Докладчики
  • Микрофон
  • Вспомогательное устройство ввода

Ниже приведены примеры устройств адаптера.

  • Устройство вывода волн (содержит цифровой аналоговый преобразователь)
  • Устройство управления выходными данными (содержит том и элементы управления отключением)
  • Устройство ввода волн (содержит аналоговый цифровой преобразователь)
  • Устройство элементов управления входными данными (содержит элемент управления томом и мультиплексор)

Как правило, пользовательские интерфейсы звуковых приложений относятся к устройствам конечной точки звука, а не к адаптерам устройств. Windows Vista упрощает проектирование удобных приложений путем непосредственной поддержки абстракции устройств конечной точки.

Некоторые конечные точки могут постоянно подключаться к устройству адаптера. Например, компьютер может содержать внутренние устройства, такие как cd-проигрыватель, микрофон или динамики, интегрированные в системный корпус. Как правило, пользователь физически не удаляет эти конечные устройства.

Другие устройства конечных точек могут подключаться к звуковому адаптеру через звуковые разъемы. Пользователь подключает и отключает эти внешние устройства. Например, устройство аудио конечной точки, например внешний микрофон или наушники, находится в одном конце кабеля, другой конец которого подключается к разъему на устройстве адаптера.

Адаптер взаимодействует с системным процессором через системную шину (обычно PCI или PCI Express) или внешнюю шину (USB или IEEE 1394), которая поддерживает самонастраивающийся (PnP). Во время перечисления устройств диспетчер самонастраивающийся определяет устройства в звуковом адаптере и регистрирует эти устройства, чтобы сделать их доступными для использования операционной системой и приложениями.

В отличие от подключения между адаптером и внешней шиной, например USB или шиной IEEE 1394, подключение между устройством конечной точки и устройством адаптера не поддерживает обнаружение устройств PnP. Однако некоторые звуковые адаптеры поддерживают обнаружение джек-присутствия: при вставке или удалении подключаемого модуля из разъема оборудование создает прерывание для уведомления драйвера адаптера об изменении конфигурации оборудования. Диспетчер конечных точек в Windows Vista может использовать эту возможность оборудования для уведомления приложений о наличии конечных точек устройств в любое время. Таким образом, операция диспетчера конечных точек аналогична работе диспетчера самонастраивающийся, которая отслеживает устройства адаптера, присутствующих в системе.

В Windows Vista звуковая система отслеживает устройства конечных точек и устройства адаптера. Диспетчер конечных точек регистрирует устройства конечных точек, а диспетчер самонастраивающийся регистрирует устройства адаптера. Регистрация устройств конечных точек упрощает работу приложений, понятных для пользователей, чтобы пользователи могли ссылаться на устройства конечных точек, которые пользователи напрямую управляют, а не ссылаться на устройства адаптеров, которые могут быть скрыты внутри корпуса компьютера. Устройства конечных точек, сообщаемые операционной системой, точно отслеживают динамические изменения в конфигурации звукового оборудования, включающего обнаружение джек-присутствия. Хотя устройство конечной точки остается подключенным, система перечисляет это устройство. Когда пользователь отключает устройство конечной точки, система перестает перечислять ее.

В более ранних версиях Windows, включая Windows 98, Windows Me, Windows 2000 и Windows XP, система явно предоставляет приложениям только устройства PnP. Таким образом, приложения должны определить существование устройств конечных точек. Операционная система, которая не имеет явной поддержки для конечных точек, заставляет клиентские приложения выполнять большую часть работы. Например, приложение записи звука должно выполнить следующие действия, чтобы включить запись с внешнего микрофона:

  1. Перечислите все устройства записи звука (это устройства адаптера), которые ранее были зарегистрированы диспетчером PnP.
  2. Выбрав устройство захвата, откройте поток записи на устройстве, вызвав функцию waveInOpen или с помощью API DirectSoundCapture или DirectShow.
  3. Вызовите функцию mixerOpen и используйте другие функции mixerXxx, чтобы найти строку MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE, соответствующую устройству записи, открытой на шаге 2. Это образованный догадка.
  4. Разблокируйте путь к данным с микрофона. Если путь к данным включает узел выключения, клиент должен отключить отключение сигнала с микрофона. Если устройство записи содержит мультиплексер для выбора из нескольких входных данных, клиент должен выбрать входные данные микрофона.

Этот процесс подвержен ошибке, так как программное обеспечение, выполняющее эти операции, может завершиться ошибкой, если он сталкивается с конфигурацией оборудования, которую его конструкторы не ожидали или для которых она не была проверена.

В Windows Vista, которая поддерживает устройства конечных точек, процесс подключения к одному и тому же устройству конечной точки гораздо проще:

  1. Выберите микрофон из коллекции устройств конечных точек.
  2. Активируйте интерфейс аудиозахвата на этом микрофоне.

Операционная система выполняет все необходимые действия для идентификации и включения устройства конечной точки. Например, если путь к данным с микрофона включает мультиплексор, система автоматически выбирает входные данные микрофона для мультиплексера.

Поведение звуковой подсистемы является более надежным и детерминированным, если приложения, вместо реализации собственных алгоритмов идентификации конечных точек, могут переключить задачу идентификации конечных точек на операционную систему. Поставщики программного обеспечения больше не должны проверять правильность работы алгоритмов идентификации конечных точек со всеми доступными звуковыми устройствами и конфигурациями— они могут просто полагаться на операционную систему для идентификации конечных точек. Аналогичным образом поставщики оборудования больше не должны проверять, что каждое соответствующее клиентское приложение может легко идентифицировать любое устройство конечной точки, подключенное к их звуковому адаптеру, — они должны убедиться, что операционная система может идентифицировать устройство конечной точки, подключенное к своему звуковому адаптеру.

В следующих разделах содержатся дополнительные сведения о устройствах аудио конечной точки:

Руководство по программированию