头文件和系统组件

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

核心音频组件 头文件
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