Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе представлен обзор звукового модуля Windows Vista. В нем рассматриваются основные понятия, которые помогут вам понять, как работают API и SAPOs.
На следующей схеме представлен упрощенный макет внутренней структуры звукового модуля.
Как показано на схеме, системные APO и sAPO являются основными строительными блоками звукового модуля. Звуковой модуль настраивает системные API и sAPOs в компоненты, называемые каналами. В звуковом движке есть два типа трубопроводов:
Потоковые каналы состоят из APO и sAPO, выполняющих цифровую обработку звука, привязанную к потоку от одного приложения. SAPO в этом типе канала называется локальными эффектами sAPO (LFX sAPO).
Каналы устройств состоят из APO и sAPO, которые выполняют цифровую обработку звука, глобально влияя на все потоки. sAPO в этом типе трубы называется глобальный эффект sAPO (GFX sAPO).
В следующей таблице показаны sAPOs, доступные в звуковом механизме Windows Vista и тип применяемых системных эффектов.
| Windows Vista sAPO | Системный эффект |
|---|---|
Усиление басов |
LFX |
Управление басами (аудио) |
LFX |
Уравнивание громкости |
LFX |
Защита с низкой частотой |
LFX |
Заполнение звука |
LFX |
Фантомное воспроизведение звука через динамик |
LFX |
Виртуальный объемный звук |
LFX |
Виртуализированный объемный звук в наушниках |
LFX |
Расширенный звук для переносимых компьютеров |
GFX |
Исправление комнаты |
GFX |
Когда звуковое приложение инициирует обработку звука, звуковой модуль настраивает предоставляемые системой API и SAPOs в звуковой граф для обработки цифровых звуковых данных. Механизм, который используется для создания звукового графа, является системной деталью и не будет обсуждаться.
Звуковое приложение может инициировать подключение в общем режиме или монопольном режиме. Хотя набор sAPOs по умолчанию установлен с Windows Vista, sAPOs не считаются системными компонентами и поэтому настраиваются.
Общий режим
В общем режиме звуковое приложение совместно использует звуковое оборудование с другими звуковыми приложениями, работающими в других процессах. Звуковой модуль смешивает потоки из этих приложений и воспроизводит результирующее сочетание через оборудование. Любое приложение, которое открывает поток в общем режиме, должно выбрать формат смешивания, используемый звуковой подсистемой. Преимущество общего режима заключается в том, что звуковой модуль Windows Vista предоставляет встроенный объект обработки звука (APO) для обеспечения необходимых вспомогательных функций. Недостатком использования общего режима является то, что задержка аудиопотока выше, чем в монопольном режиме. В следующем примере кода показан синтаксис для инициализации аудиопотока в общем режиме.
hResult = pAudioClient->Initialize(
AUDCLNT_SHAREMODE_SHARED,
0,
0,
0,
pWfx,
&m_SubmixGuid);
Монопольный режим
В отличие от этого, когда приложение открывает поток в монопольном режиме, приложение имеет монопольный доступ к звуковому оборудованию. В этом режиме приложение может выбрать любой формат звука, поддерживаемый конечной точкой. Преимущество использования монопольного режима заключается в том, что задержка аудиопотока ниже, чем в общем режиме. Недостатком использования эксклюзивного режима является то, что необходимо предоставить собственный APO для обработки вспомогательных функций звукового модуля. Для этого режима работы требуется только небольшое количество приложений профессионального уровня. В следующем примере кода показан синтаксис инициализации аудиопотока в монопольном режиме.
hResult = pAudioClient->Initialize(
AUDCLNT_SHAREMODE_EXCLUSIVE,
0,
0,
0,
pWfxEx,
&m_SubmixGuid);
После того как приложение инициирует обработку звука, построитель графа настраивает sAPOs в звуковой граф и инициализирует sAPOs. Затем аудиослужба взаимодействует с LFX APO, чтобы установить формат аудиоданных на входе и выходе APO. Дополнительные сведения см. в разделе "Согласование формата".