共用方式為


IAudioCaptureClient::GetNextPacketSize 方法 (audioclient.h)

GetNextPacketSize 方法會擷取擷取端點緩衝區中下一個數據封包中的框架數目。

語法

HRESULT GetNextPacketSize(
  [out] UINT32 *pNumFramesInNextPacket
);

參數

[out] pNumFramesInNextPacket

UINT32 變數的指標,此方法會將畫面計數寫入 (下一個擷取封包中的音訊畫面數) 。

傳回值

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

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

備註

只搭配共用模式數據流使用這個方法。 它不適用於獨佔模式數據流。

在呼叫 IAudioCaptureClient::GetBuffer 方法來擷取下一個數據封包之前,用戶端可以呼叫 GetNextPacketSize 來擷取下一個封包中的音訊畫面數。 GetNextPacketSize 所報告的計數會比對 GetBuffer 呼叫中所擷取的計數, (透過 pNumFramesToRead 輸出參數) 之後的 GetNextPacketSize 呼叫。

封包一律由音訊框架的整數組成。

GetNextPacketSize 必須在與 GetBufferIAudioCaptureClient::ReleaseBuffer 方法呼叫相同的線程中呼叫,以取得和釋放擷取端點緩衝區中的封包。

如需使用 GetNextPacketSize 方法的程式代碼範例,請參閱擷取 Stream

規格需求

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

另請參閱

IAudioCaptureClient 介面

IAudioCaptureClient::GetBuffer

IAudioCaptureClient::ReleaseBuffer

IAudioClient::GetCurrentPadding