Архитектура Windows Audio

В этом разделе представлен общий обзор архитектуры звука Windows 10/11.

Схема стека звука Windows 10/11

На этой схеме представлена сводка основных элементов звукового стека Windows 10/11.

Схема: звуковой стек Windows 10/11, включая приложения, звуковой модуль, драйверы и оборудование.

Программные интерфейсы

API верхнего уровня

API верхнего уровня используются для разработки приложений. Эти API в настоящее время используются и поддерживаются.

Эти старые API являются устаревшими.

Низкоуровневые API

Эти API более низкого уровня рекомендуется использовать для потоковой передачи звука.

  • WASAPI (высокая производительность, но более сложная)
  • IXAudio2 (обычно используется для игр)
  • MIDI

Этот API более низкого уровня рекомендуется для перечисления.

Эти API не рекомендуется использовать для приложений Windows.

Обработчик звука

Звуковой модуль состоит из двух связанных компонентов, графа звуковых устройств (audiodg.exe), который загружает обработчик звука (audioeng.dll).

Обработчик звука:

  • Микширует и обрабатывает звуковые потоки. Дополнительные сведения о том, как обработчик звука использует буферы для передачи звука, см. в разделе Общие сведения о драйвере порта WaveRT.
  • Загружает объекты обработки звука (APOs), которые являются подключаемыми модулями для H/W, которые обрабатывают звуковой сигнал. Дополнительные сведения об API см. в разделе Объекты обработки звука Windows.

Аудиослужба (audiosrv.dll)

Аудиослужба:

  • Используется для настройки и управления звуковыми потоками.
  • Реализует политики Windows для фонового воспроизведения звука, утки и т. д.

Audio Endpoint Builder (audioendpointbuilder.exe)

Конструктор конечных точек аудио (audioendpointbuilder.exe):

  • Используется для обнаружения новых звуковых устройств и создания конечных точек аудио программного обеспечения. Дополнительные сведения об используемом алгоритме см. в разделе Audio Endpoint Builder Algorithm.

Аудиодрайверы

Аудиодрайверы:

  • Следуйте модели порт-минипорт. Дополнительные сведения см. в разделах Терминология звука WDM и Разработка драйвера miniport WaveRT.
  • Разрешите стеку аудио отрисовки и записи звука с нескольких звуковых устройств, включая встроенные динамики и микрофоны, гарнитуры и наушники, USB-устройства, устройства Bluetooth, HDMI и т. д.
  • Модель port-minport соответствует advanced Linux Sound Architecture ALSA
  • Сведения о примере кода драйвера см. в разделе Примеры аудиодрайверов.

Оборудование

Звуковое оборудование, которое присутствует на любом устройстве, может быть разным, но может включать:

  • Аудиокодек
  • DSP (необязательно)
  • Встроенные динамики, микрофон и т. д.
  • Внешние устройства: аудиоустройства USB, аудиоустройства Bluetooth, звук HDMI и т. д.
  • Обработка сигналов также может быть реализована в H/W (например, кодек или DSP) вместо или в дополнение к APOs.