IAudioClient 接口 (audioclient.h)
IAudioClient 接口使客户端能够在音频应用程序和音频引擎(用于共享模式流)或 音频终结点 设备的硬件缓冲区(用于独占模式流)之间创建和初始化音频流。 客户端通过以下步骤获取对音频终结点设备的 IAudioClient 接口的引用:
- 通过使用 IMMDevice 接口中所述的技术之一,获取对音频终结点设备的 IMMDevice 接口的引用。
- 调用 IMMDevice::Activate 方法,参数 iid 设置为 REFIID IID_IAudioClient。 从 Windows 10 内部版本 20348 调用方开始,可以传递一个 AUDIOCLIENT_ACTIVATION_PARAMS 来配置 IAudioClient,以便使用进程筛选器进行环回捕获。
必须为 COM 初始化使用此接口的应用程序线程。 有关 COM 初始化的详细信息,请参阅 Windows SDK 文档中 CoInitializeEx 函数的说明。
有关使用 IAudioClient 接口的代码示例,请参阅以下主题:
遗产
IAudioClient 接口继承自 IUnknown 接口。 IAudioClient 也有以下类型的成员:
方法
IAudioClient 接口具有这些方法。
IAudioClient::GetBufferSize GetBufferSize 方法检索终结点缓冲区的大小(最大容量)。 |
IAudioClient::GetCurrentPadding GetCurrentPadding 方法检索终结点缓冲区中填充的帧数。 |
IAudioClient::GetDevicePeriod GetDevicePeriod 方法检索定期间隔的长度,以分隔终结点缓冲区中数据上的音频引擎连续处理传递的长度。 |
IAudioClient::GetMixFormat GetMixFormat 方法检索音频引擎用于其共享模式流内部处理的流格式。 |
IAudioClient::GetService GetService 方法从音频客户端对象访问其他服务。 |
IAudioClient::GetStreamLatency GetStreamLatency 方法检索当前流的最大延迟,并且可以在初始化流后随时调用。 |
IAudioClient::Initialize Initialize 方法初始化音频流。 |
IAudioClient::IsFormatSupported IsFormatSupported 方法指示音频终结点设备是否支持特定流格式。 |
IAudioClient::Reset Reset 方法重置音频流。 |
IAudioClient::SetEventHandle SetEventHandle 方法设置当客户端准备好处理音频缓冲区时系统发出信号的事件句柄。 |
IAudioClient::Start Start 方法启动音频流。 |
IAudioClient::Stop Stop 方法停止音频流。 |
言论
注意 在 Windows 8 中,首次使用 IAudioClient 访问音频设备应位于 STA 线程上。 来自 MTA 线程的调用可能会导致未定义的行为。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista [桌面应用 |UWP 应用] |
支持的最低服务器 | Windows Server 2008 [桌面应用 |UWP 应用] |
目标平台 | 窗户 |
标头 | audioclient.h |