共用方式為


IAudioClock::GetFrequency 方法 (audioclient.h)

GetFrequency 方法會取得裝置頻率。

語法

HRESULT GetFrequency(
  [out] UINT64 *pu64Frequency
);

參數

[out] pu64Frequency

方法寫入裝置頻率的 UINT64 變數指標。 如需詳細資訊,請參閱<備註>。

傳回值

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

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

備註

裝置頻率是音訊裝置中硬體時鐘所產生的頻率。 這個方法會以與 IAudioClock::GetPosition 方法報告之裝置位置相容的單位報告裝置頻率。 例如,如果針對特定數據流, GetPosition 方法會將 p 位置表示為位元組位移, GetFrequency 方法會以每秒位元組為單位來表示頻率 f 。 對於任何數據流,從數據流開頭算起的秒數位移一律可以可靠地計算為 p/f ,而不論 pf 的表示單位為何。

在 Windows Vista 中, 連續呼叫 GetFrequency 所報告的裝置頻率永遠不會在串流存留期內變更。

如果音訊裝置產生的時鐘是以標準常數頻率執行,頻率可能會因為參考時鐘的漂移或抖動而隨著時間而稍微改變。 參考時鐘可能是時鐘或 QueryPerformanceCounter函 式所使用的系統時鐘。 GetFrequency 方法會忽略這類變化,並只報告常數頻率。 不過, IAudioClient::GetPosition 方法所報告的位置會考慮所有這類變化,以在每次呼叫時報告精確的位置值。 如需 QueryPerformanceCounter 的詳細資訊,請參閱 Windows SDK 檔。

規格需求

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

另請參閱

IAudioClock 介面

IAudioClock::GetPosition