IAudioClient::GetStreamLatency 方法 (audioclient.h)
GetStreamLatency 方法检索当前流的最大延迟,并且可以在初始化流后随时调用。
语法
HRESULT GetStreamLatency(
[out] REFERENCE_TIME *phnsLatency
);
参数
[out] phnsLatency
指向 REFERENCE_TIME 变量的指针,方法在该变量中写入表示延迟的时间值。 时间以 100 纳秒为单位表示。 有关 REFERENCE_TIME的详细信息,请参阅 Windows SDK 文档。
返回值
如果该方法成功,则它会返回 S_OK。 如果失败,可能的返回代码包括但不限于下表中显示的值。
返回代码 | 说明 |
---|---|
|
音频流尚未成功初始化。 |
|
音频终结点设备已拔出,或者音频硬件或关联的硬件资源已重新配置、禁用、删除或以其他方式不可用。 |
|
Windows 音频服务未运行。 |
|
参数 phnsLatency 为 NULL。 |
注解
此方法需要事先初始化 IAudioClient 接口。 在客户端通过成功调用 IAudioClient::Initialize 方法初始化音频流之前,对此方法的所有调用都将失败并出现错误AUDCLNT_E_NOT_INITIALIZED。
此方法检索当前流的最大延迟。 在 IAudioClient 对象的生存期内,该值不会更改。
呈现客户端可以使用此延迟值来计算在任何单个处理阶段期间可以写入的最小数据量。 如果写入量低于此最小值,则有可能在音频流中引入故障。 有关详细信息,请参阅 IAudioRenderClient::GetBuffer。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | audioclient.h |