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


Файлы заголовков и системные компоненты

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

Основной компонент аудио Файл заголовка
API MMDevice Mmdeviceapi.h
WASAPI Audioclient.h, Audiopolicy.h
API DeviceTopology Devicetopology.h
API EndpointVolume Endpointvolume.h

 

Другой файл заголовка Audiosessiontypes.h определяет константы, используемые WASAPI. Эти файлы заголовков находятся в каталоге %MSSdk%\include, где %MSSdk% является корневым каталогом установки пакета SDK для Windows на компьютере.

Каждый API в предыдущей таблице состоит из набора связанных COM-интерфейсов. Так как некоторые аспекты потоковой передачи звука зависят от низкой задержки и точной синхронизации, реализации MMDevice, WASAPI, DeviceTopology и EndpointVolume API не используют Microsoft .NET Framework или среду управляемого выполнения.

Api Core Audio реализованы в системных компонентах пользовательского режима Audioses.dll и Mmdevapi.dll. Клиентские приложения напрямую не обращаются к точкам входа в этих библиотеках DLL. Вместо этого клиенты вызывают функцию CoCreateInstance или CoCreateInstanceEx, чтобы получить интерфейс IMMDeviceEnumerator объекта класса MMDeviceEnumerator. Этот объект перечисляет конечных точек звука, в системе. Интерфейс IMMDeviceEnumerator является частью API MMDevice. Из этого интерфейса клиенты могут напрямую или косвенно получать другие интерфейсы в API MMDevice, включая интерфейс IMMDevice. IMMDevice представляет определенное звуковое конечное устройство. Через IMMDevice клиенты могут напрямую или косвенно получать интерфейсы, относящиеся к устройству, в WASAPI, API DeviceTopology и API EndpointVolume. Дополнительные сведения о CoCreateInstance и CoCreateInstanceExсм. в документации по пакету SDK для Windows. Дополнительные сведения о доступе к интерфейсам в ОСНОВНЫХ API аудио см. в перечислении аудиоустройств.

о API аудио windows Core