Архитектура звука Windows

В данном разделе представлено высокоуровневое резюме звуковой архитектуры 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".
  • Загружает объекты обработки звука (APO), которые являются специфичными для аппаратного обеспечения плагинами, обрабатывающими аудиосигнал. Дополнительные сведения об API см. в разделе "Объекты обработки звука Windows".

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

Звуковая служба:

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

Построитель звуковых конечных точек (audioendpointbuilder.exe)

Построитель звуковых конечных точек (audioendpointbuilder.exe):

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

Звуковые драйверы

Звуковые драйверы:

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

Аппаратное обеспечение

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

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