Файлы заголовков и системные компоненты
В следующей таблице перечислены файлы заголовков, содержащие определения интерфейса для четырех основных компонентов аудио.
Основной компонент аудио | Файл заголовка |
---|---|
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 аудио см. в разделе Перечисление звуковых устройств.
См. также