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

Mix_SetPanning

int Mix_SetPanning(int channel, Uint8 left, Uint8 right)

channel
エフェクトを登録するチャネル番号. MIX_CHANNEL_POSTとするとミキシングの後の処理
left
0(無音)〜255(最大)の左のボリューム
right
0(無音)〜255(最大)の右のボリューム

このエフェクトはステレオ音声のみ有効である. つまりMix_OpenAudioのチャネル数を2として呼んだ場合である(MIX_DEFAULT_CHANNELS). パンを行う最も簡単な方法は, Mix_SetPanning(channel, left, 254 - left); を呼ぶことである. 中央の1チャネルあたりの最大ボリュームを127, 左の最大を254と考えるならば, 実効的なボリュームは半分になるが, 総ボリュームは正しい. この関数はエフェクトに登録する. 自分でMix_RegisterEffectで登録する必要はない.

メモ: leftとrightの両方を255とすると, channelからこのエフェクトを削除する. チャネルに対してMix_UnregisterAllEffectsを使うことを除けば, この方法以外で削除することはできない.

メモ: モノラルオーディオデバイスに対してこの関数を使ってもエフェクトが登録されないか, エラーが戻る.

戻り値: チャネルが不正, Mix_RegisterEffectに失敗などのとき0(偽)

サンプルコード

// チャネル1を左半分パンする
if(!Mix_SetPanning(1, 255, 127)) {
    printf("Mix_SetPanning: %s\n", Mix_GetError());
    // パンがない?
}

参照

Mix_SetPosition, Mix_UnregisterAllEffects

原文へのリンク

4.6.5 Mix_SetPanning