目次 - 4.関数 - 4.6エフェクト - Mix_SetPostMix

# Mix_SetPostMix

`void Mix_SetPostMix(void (*mix_func)(void *udata, Uint8 *stream, int len), void *arg)`

mix_func
  後処理を行う関数のポインタ. NULLのとき後処理を削除する
arg
  特に同時に複数のチャネルを扱えるように作る場合は, 処理関数が状態データを保存する場所として使うとよい. 必要なければNULLにできる.

ミキシング後のエフェクト処理関数mix_funcをフックする. 読み込んだデータを単に表示する処理や, ストリームにエコーをつける処理などを行える. 多くの処理関数は状態データの領域を確保する必要がある. その場合はargポインタに保存するとよい. この処理関数はオーディオデバイスを閉じる, またはmix_funcをNULLにするまで使い終えることはない. この関数は1つのミキシング後の処理関数しか設定できない. Mix_RegisterEffect(MIX_CHANNEL_POST, mix_func, NULL, arg)を使えば複数のミキシング後処理関数を使える. このミキシング後処理関数は, Mix_RegisterEffectで登録した全てのミキシング処理関数の後に呼ばれる.

## サンプルコード

`

    // 何もせず素通りする関数を作る
    void noEffect(void *udata, Uint8 *stream, int len)
    {
        // ここにストリームの処理を書ける...
    }
    ...
    // 何もしないミキシング後処理を登録する
    Mix_SetPostMix(noEffect, NULL);

`

## 参照

Mix_RegisterEffect

## 原文へのリンク

4.6.4 Mix_SetPostMix