头文件和系统组件

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

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

 

另一个头文件 Audiosessiontypes.h 定义 WASAPI 使用的常量。 这些头文件位于 \include 目录中 %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 Core 音频 API