共用方式為


CXAPOBase::P rocessThru 方法 (xapobase.h)

當停用 XAPO 以進行處理時, 由 IXAPO::P rocess 實作呼叫。

語法

void ProcessThru(
  const void *pInputBuffer,
  FLOAT32    *pOutputBuffer,
  UINT32     FrameCount,
  UINT32     InputChannelCount,
  UINT32     OutputChannelCount,
  BOOL       MixWithOutput
);

參數

pInputBuffer

包含輸入音訊資料的緩衝區指標。

pOutputBuffer

緩衝區的指標,其中包含已處理的音訊資料。

FrameCount

要處理的音訊資料框架數目,其中框架是樣本區塊,每個音訊資料通道一個。

InputChannelCount

輸入資料緩衝區中的通道數目。

OutputChannelCount

輸出資料緩衝區中的通道數目。

MixWithOutput

TRUE 是表示 要與目的地緩衝區混合,FALSE 以覆寫目的地緩衝區。

傳回值

備註

ProcessThru 會將資料從來源複製到目的地,盡可能對音訊資料進行最少的變更。 不過, ProcessThru 能夠通道向上混音/向下混音,並使用 Windows Vista 所使用的相同矩陣係數資料表來執行此動作。

如果下列狀況,可能會呼叫此函式:

  1. XAPO 已鎖定並停用。
  2. 來源畫面的數目等於目的畫面格的數目。
  3. 輸出格式FLOAT32。
  4. 輸入格式為 INT8、INT16、INT20 (包含在 24 或 32 位) 、INT24 (包含在 24 或 32 位) 、INT32 或 FLOAT32中。
就地處理 (輸入緩衝區等於輸出緩衝區) 此函式不會執行任何動作。

撰寫 ProcessThru 方法時,請務必注意 XAudio2 音訊資料交錯,來自每個通道的資料會與特定樣本編號相鄰。 例如,如果有 4 個通道波浪播放到 XAudio2 來源語音,音訊資料會是通道 0 的範例、通道 1 的範例、通道 2 的樣本、通道 3 的樣本,然後是下一個通道 0、1、2、3 等範例。

平臺需求

Windows 10 (XAudio2.9) ;Windows 8,Windows Phone 8 (XAudio 2.8) ;DirectX SDK (XAudio 2.7)

規格需求

   
目標平台 Windows
標頭 xapobase.h
程式庫 XAPOBase.lib

另請參閱

CXAPOBase

IXAPO