IAudioClient::GetStreamLatency 方法 (audioclient.h)

GetStreamLatency 方法检索当前流的最大延迟,并且可以在初始化流后随时调用。

语法

HRESULT GetStreamLatency(
  [out] REFERENCE_TIME *phnsLatency
);

参数

[out] phnsLatency

指向 REFERENCE_TIME 变量的指针,方法在该变量中写入表示延迟的时间值。 时间以 100 纳秒为单位表示。 有关 REFERENCE_TIME的详细信息,请参阅 Windows SDK 文档。

返回值

如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。

返回代码 说明
AUDCLNT_E_NOT_INITIALIZED
音频流尚未成功初始化。
AUDCLNT_E_DEVICE_INVALIDATED
音频终结点设备已拔出,或者音频硬件或关联的硬件资源已重新配置、禁用、删除或以其他方式不可用。
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 音频服务未运行。
E_POINTER
参数 phnsLatencyNULL

注解

此方法需要事先初始化 IAudioClient 接口。 在客户端通过成功调用 IAudioClient::Initialize 方法初始化音频流之前,对此方法的所有调用都将失败并出现错误AUDCLNT_E_NOT_INITIALIZED。

此方法检索当前流的最大延迟。 在 IAudioClient 对象的生存期内,该值不会更改。

呈现客户端可以使用此延迟值来计算在任何单个处理阶段期间可以写入的最小数据量。 如果写入量低于此最小值,则有可能在音频流中引入故障。 有关详细信息,请参阅 IAudioRenderClient::GetBuffer

要求

要求
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 audioclient.h

另请参阅

IAudioClient 接口

IAudioClient::Initialize

IAudioRenderClient::GetBuffer