标头文件和系统组件

下表列出了包含四个核心音频组件的接口定义的标头文件。

核心音频组件 头文件
MMDevice API Mmdeviceapi.h
WASAPI Audioclient.h、Audiopolicy.h
DeviceTopology API Devicetopology.h
EndpointVolume API Endpointvolume.h

 

另一个头文件 Audiosessiontypes.h 定义 WASAPI 使用的常量。 这些头文件位于目录 %MSSdk%\include 中,其中 %MSSdk% 是计算机上Windows SDK 安装的根目录。

上表中的每个 API 都包含一组相关的 COM 接口。 由于音频流的某些方面依赖于低延迟和精确同步,因此 MMDevice、WASAPI、DeviceTopology 和 EndpointVolume API 的实现不使用 Microsoft .NET Framework或托管执行环境。

核心音频 API 在用户模式系统组件中实现,Audioses.dll和Mmdevapi.dll。 客户端应用程序不会直接访问这些 DLL 中的入口点。 相反,客户端调用 CoCreateInstanceCoCreateInstanceEx 函数以获取 MMDeviceEnumerator 类对象的 IMMDeviceEnumerator 接口。 此对象枚举系统中 的音频终结点设备IMMDeviceEnumerator 接口是 MMDevice API 的一部分。 在此接口中,客户端可以直接或间接地获取 MMDevice API 中的其他接口,包括 IMMDevice 接口。 IMMDevice 表示特定的音频终结点设备。 通过 IMMDevice,客户端可以直接或间接地在 WASAPI、DeviceTopology API 和 EndpointVolume API 中获取特定于设备的接口。 有关 CoCreateInstanceCoCreateInstanceEx 的详细信息,请参阅 Windows SDK 文档。 有关访问核心音频 API 中的接口的详细信息,请参阅 枚举音频设备

关于Windows核心音频 API