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
処理するオーディオ データのフレーム数。フレームは、オーディオ データのチャネルごとに 1 つずつ、サンプルのブロックです。
InputChannelCount
入力データ バッファー内のチャネルの数。
OutputChannelCount
出力データ バッファー内のチャネルの数。
MixWithOutput
宛先バッファーと混在させる場合は TRUE、宛先バッファーを上書きする場合は FALSE。
戻り値
なし
解説
ProcessThru は、ソースからコピー先にデータをコピー/ミックスし、オーディオ データに対する変更を可能な限り少なくします。 ただし、 ProcessThru はチャネルアップミックス/ダウンミックスが可能であり、Windows Vista で使用されるのと同じ行列係数テーブルを使用します。
この関数は、次の場合に呼び出される場合があります。
- XAPO はロックされ、無効になっています。
- ソース フレームの数は、ターゲット フレームの数と同じです。
- 出力形式はFLOAT32。
- 入力形式は、INT8、INT16、INT20 (24 または 32 ビットに含まれます)、INT24 (24 または 32 ビットに含まれる)、INT32、またはFLOAT32です。
ProcessThru メソッドを記述するときは、XAudio2 オーディオ データがインターリーブされ、各チャネルからのデータが特定のサンプル番号に対して隣接している点に注意することが重要です。 たとえば、XAudio2 ソース音声に 4 チャンネルの波が再生されている場合、オーディオ データはチャネル 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 |
Library | XAPOBase.lib |