IAudioClient::Start 方法 (audioclient.h)

Start 方法會啟動音訊數據流。

Syntax

HRESULT Start();

傳回值

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

傳回碼 Description
AUDCLNT_E_NOT_INITIALIZED
音訊數據流尚未成功初始化。
AUDCLNT_E_NOT_STOPPED
開始 呼叫時,音訊數據流並未停止。
AUDCLNT_E_EVENTHANDLE_NOT_SET
音訊數據流設定為使用事件驅動緩衝,但呼叫端尚未呼叫 IAudioClient::SetEventHandle ,以在數據流上設定事件句柄。
AUDCLNT_E_DEVICE_INVALIDATED
音訊端點裝置已解除叢集,或音訊硬體或相關聯的硬體資源已重新設定、停用、移除或無法使用。
AUDCLNT_E_SERVICE_NOT_RUNNING
Windows 音訊服務未執行。

備註

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

Start 是用戶端呼叫以啟動音訊數據流的控制方法。 啟動數據流會導致 IAudioClient 物件開始在端點緩衝區與音訊引擎之間串流數據。 它也會讓數據流的音訊時鐘從其目前的位置繼續計數。

第一次在數據流初始化之後呼叫這個方法時, IAudioClient 對象的數據流位置計數器會從 0 開始。 否則,時鐘會從上次停止數據流時的位置繼續。 重設數據流會將數據流位置強制回到 0。

為了避免轉譯數據流的啟動問題,用戶端在轉譯介面上呼叫 IAudioRenderClient::GetBufferIAudioRenderClient::ReleaseBuffer 方法,一開始會呼叫 [開始] 直到音訊引擎以數據載入為止。

如需呼叫 Start 方法的程式代碼範例,請參閱下列主題:

規格需求

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

另請參閱

IAudioClient 介面

IAudioClient::Initialize

IAudioRenderClient::GetBuffer

IAudioRenderClient::ReleaseBuffer