IAudioClient 接口 (audioclient.h)
借助 IAudioClient 接口,客户端可以在音频应用程序与音频引擎之间创建和初始化音频流, (共享模式流) 或音频终结点设备的硬件缓冲区 (独占模式流) 。 客户端通过执行以下步骤获取对音频终结点设备的 IAudioClient 接口的引用:
- 通过使用 IMMDevice 接口中所述的技术之一,获取对音频终结点设备的 IMMDevice 接口的引用。
- 调用参数 iid 设置为 REFIID 的 IMMDevice::Activate 方法IID_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 应用] |
目标平台 | Windows |
标头 | audioclient.h |