共用方式為


IAudioOutputEndpointRT::ReleaseOutputDataPointer 方法 (audioengineendpoint.h)

ReleaseOutputDataPointer 方法會釋放輸出緩衝區的指標。

語法

void ReleaseOutputDataPointer(
  [in] const APO_CONNECTION_PROPERTY *pConnectionProperty
);

參數

[in] pConnectionProperty

APO_CONNECTION_PROPERTY 結構的指標。 結構中的值不得變更。 呼叫端會設定成員,如下所示:

  • pBuffer 設定為 IAudioOutputEndpointRT::GetOutputDataPointer 方法所傳回之輸出數據緩衝區的指標。
  • u32ValidFrameCount 設定為音訊引擎所產生的實際畫面數。 此值可能與 GetOutputDataPointer 方法的 u32FrameCount 參數中傳遞的框架計數不同。
  • 如果 pBuffer 成員指向的輸出緩衝區包含有效的數據,u32BufferFlags 會設定為BUFFER_VALID。 如果輸出緩衝區只包含無訊息數據,u32BufferFlags 會設定為 BUFFER_SILENT。 緩衝區中的數據實際上不需要無聲,但 pBuffer 成員中指定的緩衝區必須能夠保存 u32ValidFrameCount 成員中包含的所有無聲畫面。 因此,如果指定 BUFFER_SILENT ,端點應該在輸出緩衝區中寫入無回應。

傳回值

備註

ReleaseOutputDataPointer 會通知端點音訊引擎已完成在輸出緩衝區中寫入數據的工作,而不再需要數據指標。 這個方法也會轉寄資訊,例如對應至輸出緩衝區中音訊樣本的時間、音訊引擎所產生的畫面格數目,以及緩衝區是否已滿有效數據或無聲數據。 根據這項資訊,代表迴圈緩衝區的端點,並附加至音訊引擎的輸出,可以在緩衝區中前進其寫入位置。 GetOutputDataPointer 方法 u32FrameCount 參數中的值為零,表示音訊引擎未在輸出緩衝區中寫入任何有效的數據。 u32FrameCount 參數值必須小於或等於 GetOutputDataPointer 中指定的框架計數。 端點不得假設已實際產生 GetOutputDataPointer 所要求的所有數據。

這個方法可以從即時處理線程呼叫。 此方法的實作不得封鎖、存取分頁記憶體,或呼叫任何封鎖系統例程。

遠端桌面服務 AudioEndpoint API 適用於遠端桌面案例;它不適用於客戶端應用程式。

規格需求

需求
最低支援的用戶端 Windows 7
最低支援的伺服器 Windows Server 2008 R2
目標平台 Windows
標頭 audioengineendpoint.h

另請參閱

IAudioOutputEndpointRT