# NNS_SndCaptureSetOutputEffectCallback

## 構文

      #include <nnsys/snd.h>

      typedef void (*NNSSndCaptureCallback)(
          void* bufferL,
          void* bufferR,
          u32 len,
          NNSSndCaptureFormat format,
          void* arg
      );

      void NNS_SndCaptureSetOutputEffectCallback(
              NNSSndCaptureCallback func,
              void* arg );

## 引数

`func` | コールバック関数のポインタです。
`arg` | コールバック関数の引数となるパラメータです。

## 返り値

なし。

## 説明

出力エフェクト前処理コールバックを登録します。

登録した関数`func`は、 `NNS_SndCaptureStartOutputEffect`関数で 出力エフェクト処理を行っている間、 出力エフェクト処理の直前で呼びだされます。 直後に処理を行いたい場合は、 `NNS_SndCaptureSetPostOutputEffectCallback`関数 でコールバック関数を登録します。

コールバック関数`func`の引数には、 Ｌミキサー成分`bufferL`およびＲミキサー成分`bufferR`の 先頭アドレスのポインタと、バッファのサイズ`len`が入れられます。 フォーマット`format`は必ず、16ビットPCMを表す NNS_SND_CAPTURE_FORMAT_PCM16が入ります。 ユーザー引数`arg`は、 `NNS_SndCaptureSetOutputEffectCallback`関数の引数に入れたものと同じものが渡されます。

### 注意

`NNS_SndCaptureStartEffect`関数の コールバック関数とは異なり、渡されたバッファにはコールバック関数内でしかアクセスすることはできません。

## 参照

NNS_SndCaptureStartOutputEffect, NNS_SndCaptureSetPostOutputEffectCallback, NNS_SndCaptureStartEffect

## 履歴

2004/10/04 初版