IAudioClient3::GetSharedModeEnginePeriod 方法 (audioclient.h)

返回引擎支持的指定流格式的周期范围。 引擎的周期性是引擎唤醒事件驱动的音频客户端以将音频数据传输到引擎或从引擎传输音频数据的速率。 返回的值取决于通过上一次调用 IAudioClient2::SetClientProperties 指定的音频客户端的特征。

语法

HRESULT GetSharedModeEnginePeriod(
  [in]  const WAVEFORMATEX *pFormat,
  [out] UINT32             *pDefaultPeriodInFrames,
  [out] UINT32             *pFundamentalPeriodInFrames,
  [out] UINT32             *pMinPeriodInFrames,
  [out] UINT32             *pMaxPeriodInFrames
);

参数

[in] pFormat

类型: const WAVEFORMATEX*

查询支持的周期的流格式。

[out] pDefaultPeriodInFrames

类型: UINT32*

引擎唤醒客户端以传输音频样本的默认时间段

[out] pFundamentalPeriodInFrames

类型: UINT32*

引擎将唤醒客户端以传输音频样本的基本时间段。 设置音频引擎周期时,必须使用此值的整数倍数。

[out] pMinPeriodInFrames

类型: UINT32*

音频引擎将唤醒客户端以传输音频样本的最短时间段(以音频帧为单位)。

[out] pMaxPeriodInFrames

类型: UINT32*

音频帧中最长的时间段,音频引擎将唤醒客户端以传输音频样本。

返回值

类型: HRESULT

此方法返回 S_OK ,指示它已成功完成。 否则,它将返回相应的错误代码。

注解

音频客户端使用 PeriodInFrames 参数向 IAudioClient3::InitializeSharedAudioStream 请求特定周期。 PeriodInFrames 的值必须是 pFundamentalPeriodInFrames 参数中返回的值的整数倍数。 PeriodInFrame 还必须大于或等于 pMinPeriodInFrames 中返回的值,并且小于或等于 pMaxPeriodInFrames 的值

例如,对于 44100 kHz 格式, GetSharedModeEnginePeriod 可能会返回:

  • pDefaultPeriodInFrames = 448 帧 (约 10.16 毫秒)

  • pFundamentalPeriodInFrames = 4 帧 (约 0.09 毫秒)

  • pMinPeriodInFrames = 48 帧 (约 1.09 毫秒)

  • pMaxPeriodInFrames = 448 帧 (与默认)

InitializeSharedAudioStreamPeriodInFrames 参数允许的值包括 48 和 448。 它们还将包括96和128等内容。

它们不包括 4 个 (小于最小允许值) 或 98 (这不是基本) 或 1000 (大于最大允许值) 的倍数。

要求

要求
最低受支持的客户端 Windows 10 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
目标平台 Windows
标头 audioclient.h

另请参阅

IAudioClient3