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 所使用的相同矩陣係數資料表來執行此動作。
如果下列狀況,可能會呼叫此函式:
- XAPO 已鎖定並停用。
- 來源畫面的數目等於目的畫面格的數目。
- 輸出格式FLOAT32。
- 輸入格式為 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 |