共用方式為


IAudioClient::GetStreamLatency 方法 (audioclient.h)

GetStreamLatency 方法會擷取目前數據流的最大延遲,而且可以在數據流初始化之後隨時呼叫。

語法

HRESULT GetStreamLatency(
  [out] REFERENCE_TIME *phnsLatency
);

參數

[out] phnsLatency

REFERENCE_TIME 變數的 指標,方法會將代表延遲的時間值寫入其中。 時間是以 100 奈秒單位表示。 如需 REFERENCE_TIME的詳細資訊,請參閱 Windows SDK 檔。

傳回值

如果方法成功,它會傳回 S_OK。 如果失敗,可能的傳回碼包括但不限於下表所示的值。

傳回碼 Description
AUDCLNT_E_NOT_INITIALIZED
音訊數據流尚未成功初始化。
AUDCLNT_E_DEVICE_INVALIDATED
音訊端點裝置已解除叢集,或音訊硬體或相關聯的硬體資源已重新設定、停用、移除或無法使用。
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 音訊服務未執行。
E_POINTER
參數 phnsLatencyNULL

備註

這個方法需要 IAudioClient 介面的先前初始化。 此方法的所有呼叫都會失敗,併發生錯誤AUDCLNT_E_NOT_INITIALIZED,直到用戶端成功呼叫 IAudioClient::Initialize 方法來初始化音頻數據流為止。

這個方法會擷取目前數據流的最大延遲。 在 IAudioClient 物件的存留期內,此值不會變更。

轉譯用戶端可以使用此延遲值來計算在任何單一處理階段期間可寫入的數據量下限。 若要寫入小於此最小值,風險是將問題引入音訊串流。 如需詳細資訊,請參閱 IAudioRenderClient::GetBuffer

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 audioclient.h

另請參閱

IAudioClient 介面

IAudioClient::Initialize

IAudioRenderClient::GetBuffer