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


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

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

Основной компонент аудио Файл заголовка
MMDevice API Mmdeviceapi.h
WASAPI Audioclient.h, Audiopolicy.h
DeviceTopology API Devicetopology.h
EndpointVolume API 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