IAudioClient2::GetBufferSizeLimits 方法 (audioclient.h)
GetBufferSizeLimits 方法以 100 纳秒为单位返回硬件音频引擎的缓冲区大小限制。
语法
HRESULT GetBufferSizeLimits(
[in] const WAVEFORMATEX *pFormat,
[in] BOOL bEventDriven,
[out] REFERENCE_TIME *phnsMinBufferDuration,
[out] REFERENCE_TIME *phnsMaxBufferDuration
);
参数
[in] pFormat
指向要查询缓冲区大小限制的目标格式的指针。
[in] bEventDriven
指示流是否可以为事件驱动的布尔值。
[out] phnsMinBufferDuration
返回指向以 100 纳秒为单位 (最小缓冲区大小的指针,) 基础硬件音频引擎以 pFormat 参数中指定的格式运行所需的最小缓冲区大小,而不会频繁出现音频故障。
[out] phnsMaxBufferDuration
返回指向最大缓冲区大小 (的指针(以 100 纳秒为单位),) 基础硬件音频引擎可以支持 pFormat 参数中指定的格式。
返回值
GetBufferSizeLimits 方法返回S_OK指示它已成功完成。 否则,它将返回相应的错误代码。 例如,如果删除了设备并调用 了 方法,则它可以返回 AUDCLNT_E_DEVICE_INVALIDATED。
注解
GetBufferSizeLimits 方法是面向设备的方法
和 不需要先进行音频流初始化。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2012 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | audioclient.h |