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 顯示X*

查詢支援周期的數據流格式。

[out] pDefaultPeriodInFrames

類型: UINT32*

引擎將喚醒用戶端以傳輸音訊樣本的默認期間

[out] pFundamentalPeriodInFrames

類型: UINT32*

引擎會喚醒用戶端以傳輸音訊樣本的基本期間。 設定音訊引擎週期性時,您必須使用此值的整數倍數。

[out] pMinPeriodInFrames

類型: UINT32*

音訊畫面格中的最短期間,音訊引擎將會喚醒用戶端來傳輸音訊樣本。

[out] pMaxPeriodInFrames

類型: UINT32*

音訊畫面格中最長的期間,音訊引擎會用來喚醒用戶端來傳輸音訊樣本。

傳回值

類型: HRESULT

這個方法會 傳回S_OK ,表示它已順利完成。 否則會傳回適當的錯誤碼。

備註

音訊用戶端會使用 PeriodInFrames 參數向 IAudioClient3::InitializeSharedAudioStream 要求音訊引擎的特定週期性。 PeriodInFrames 的值必須是 pFundamentalPeriodInFrames 參數中所傳回值的整數倍數。 PeriodInFrames 也必須大於或等於 pMinPeriodInFrames 中傳回的值,且小於或等於 pMaxPeriodInFrames 的值。

例如,針對 44100 kHz 格式, GetSharedModeEnginePeriod 可能會傳回:

  • pDefaultPeriodInFrames = 448 個畫面格, (大約 10.16 毫秒)

  • pFundamentalPeriodInFrames = 4 個畫面格, (大約 0.09 毫秒)

  • pMinPeriodInFrames = 48 個畫面格, (大約 1.09 毫秒)

  • pMaxPeriodInFrames = 448 個畫面格, (與預設)

PeriodInFrames 參數的 Allowed values to InitializeSharedAudioStream 會包含 48 和 448。 它們也會包含 96 和 128 之類的專案。

它們不包含 4 個 (小於允許的最小值) 或 98 (,這不是基本) 的倍數,或大於允許值上限的 1000 () 。

規格需求

需求
最低支援的用戶端 Windows 10 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2016 [僅限傳統型應用程式]
目標平台 Windows
標頭 audioclient.h

另請參閱

IAudioClient3