Поделиться через


Виртуальные звуковые устройства

Виртуальные звуковые устройства представляют собой графы фильтров, которые отрисовывают и записывают звуковое содержимое. Системный аудиодрайв (SysAudio) использует доступные аппаратные и программные компоненты для определения графов фильтров для построения.

Дополнительные сведения о системных звуковых драйверах см. в разделе Системный драйвер SysAudio.

Клиенты SysAudio включают DirectSound и системный драйвер WDMAud, который служит интерфейсом между аудиодрайверами WDM и api Microsoft Windows Multimedia waveIn, waveOut, midiIn, midiOut, mixer и aux (описано в Microsoft Windows SDK документации).

Служебная программа KsStudio в комплекте драйверов Windows (WDK) — это пример приложения, которое обходит SysAudio и позволяет пользователям создавать графы фильтров вручную.

После перечисления устройств PnP SysAudio подбирает зарегистрированные компоненты звукового оборудования и программного обеспечения, чтобы определить, как создавать различные графы фильтра звука, которые могут потребоваться клиентам.

Определив список графов фильтров, которые можно создать на основе доступных аппаратных и программных компонентов, SysAudio регистрирует эти графы в качестве виртуальных звуковых устройств для воспроизведения, записи, ввода-вывода MIDI и микширования. SysAudio резервирует категорию реестра KSCATEGORY_AUDIO_DEVICE исключительно для своих виртуальных звуковых устройств. Драйверы адаптера не должны регистрировать себя в этой категории.

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