GetStreamLatency 方法检索当前流的最大延迟,并且可以在初始化流后随时调用。
Syntax
HRESULT GetStreamLatency(
[out] REFERENCE_TIME *phnsLatency
);
参数
[out] phnsLatency
指向 REFERENCE_TIME 变量的指针,该方法在其中写入表示延迟的时间值。 时间以 100 纳秒为单位表示。 有关 REFERENCE_TIME的详细信息,请参阅 Windows SDK 文档。
返回值
如果方法成功,则返回S_OK。 如果失败,则可能的返回代码包括但不限于下表中显示的值。
| 返回代码 | Description |
|---|---|
|
音频流尚未成功初始化。 |
| |
|
流的资源已失效。 由于以下原因,可能会引发此错误: - 流已挂起。 - 独占流或卸载流已断开连接。 - 具有独占模式或卸载流的打包应用程序已静止。 - 关闭“受保护的输出”流。 |
| 音频终结点设备已拔出,或者已重新配置、禁用、删除音频硬件或关联的硬件资源,否则无法使用。 | |
|
Windows 音频服务未运行。 |
|
参数 phnsLatency 为 NULL。 |
注解
此方法需要事先初始化 IAudioClient 接口。 对此方法的所有调用都将失败,AUDCLNT_E_NOT_INITIALIZED错误,直到客户端通过成功调用 IAudioClient::Initialize 方法初始化音频流。
此方法检索当前流的最大延迟。 在 IAudioClient 对象的生存期内,该值不会更改。
呈现客户端可以使用此延迟值计算在任意单个处理传递期间可以写入的最小数据量。 若要写入低于此最小值,风险是将故障引入音频流。 有关详细信息,请参阅 IAudioRenderClient::GetBuffer。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows Vista [桌面应用 |UWP 应用] |
| 支持的最低服务器 | Windows Server 2008 [桌面应用 |UWP 应用] |
| 目标平台 | Windows操作系统 |
| Header | audioclient.h |