IAudioClient 介面 (audioclient.h)
IAudioClient 介面可讓用戶端在音訊應用程式和音訊引擎之間建立和初始化音訊數據流(適用於共用模式數據流),或 音訊端點裝置的硬體緩衝區(適用於獨佔模式數據流)。 用戶端會遵循下列步驟,取得音訊端點裝置 IAudioClient 介面的參考:
- 藉由使用 IMMDevice 介面中所述的其中一種技術,取得音訊端點裝置 IMMDevice 介面的參考。
- 呼叫 IMMDevice::Activate 方法,並將參數 iid 設定為 REFIID IID_IAudioClient。 從 Windows 10 組建 20348 呼叫端開始,可以傳遞 AUDIOCLIENT_ACTIVATION_PARAMS,以使用行程篩選來設定 IAudioClient 進行回送擷取。
使用這個介面的應用程式線程必須針對 COM 初始化。 如需 COM 初始化的詳細資訊,請參閱 Windows SDK 檔中的 CoInitializeEx 函式描述。
如需使用 IAudioClient 介面的程式代碼範例,請參閱下列主題:
遺產
方法
IAudioClient 介面具有這些方法。
IAudioClient::GetBufferSize GetBufferSize 方法會擷取端點緩衝區的大小(最大容量)。 |
IAudioClient::GetCurrentPadding GetCurrentPadding 方法會擷取端點緩衝區中填補的畫面數。 |
IAudioClient::GetDevicePeriod GetDevicePeriod 方法會擷取定期間隔的長度,以分隔端點緩衝區中數據上音訊引擎所傳遞的後續處理。 |
IAudioClient::GetMixFormat GetMixFormat 方法會擷取音訊引擎用於其內部處理共用模式數據流的數據流格式。 |
IAudioClient::GetService GetService 方法會從音訊客戶端物件存取其他服務。 |
IAudioClient::GetStreamLatency GetStreamLatency 方法會擷取目前數據流的最大延遲,而且可以在初始化數據流之後隨時呼叫。 |
IAudioClient::Initialize Initialize 方法會初始化音頻數據流。 |
IAudioClient::IsFormatSupported IsFormatSupported 方法會指出音訊端點裝置是否支援特定的數據流格式。 |
IAudioClient::Reset Reset 方法會重設音訊數據流。 |
IAudioClient::SetEventHandle SetEventHandle 方法會設定當用戶端準備好處理音訊緩衝區時,系統發出訊號的事件句柄。 |
IAudioClient::Start Start 方法會啟動音訊數據流。 |
IAudioClient::Stop Stop 方法會停止音訊數據流。 |
言論
注意 在 Windows 8 中,第一次使用 IAudioClient 存取音訊裝置時,應該位於 STA 線程上。 來自 MTA 線程的呼叫可能會導致未定義的行為。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista [傳統型應用程式 |UWP 應用程式] |
支援的最低伺服器 | Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平臺 | 窗戶 |
標頭 | audioclient.h |