目次 - SDL_mixer - API(機能別) - エフェクト - Mix_SetPanning

Mix_SetPanning

チャネルのパンを設定する

構文

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

引数

channel パンを設定するチャネル, またはMIX_CHANNEL_POST
left左チャネルの音量. 0が無音, 255が最大音量
right右チャネルの音量. 0が無音, 255が最大音量

戻り値

エラー(チャネルがない, またはMix_RegisterEffect()が失敗)のとき0, エフェクトが有効になったとき0以外を戻す.

詳細

左右のチャネルは0から255の整数で無音から最大まで別々に指定する.

技術上はこれは単に2つのチャネル(ステレオ)のそれぞれの音量を制御するだけであり, パン以外の使用もできる. 本当にパンしたい場合は, 次のようにすること:

Mix_SetPanning(channel, left, 255 - left);

`channel`にMIX_CHANNEL_POSTを設定するとポストエフェクトとなり, パンはオーディオデバイスに渡される前の最後のミキシングの直前に適用される.

この関数は内部でMix_RegisterEffect()APIを使用しており, オーディオデバイスがステレオに対応していない場合はエフェクト関数を登録せずに戻る. `left`と`right`の両方を255にするとエフェクトの登録は解除され, 以降のデータは通常通りになる.

オーディオデバイスがモノラルの場合は何もしないが, その場合でもこの関数は正常を戻す. エラーメッセージはMix_GetError()で得ることができる.

他のSDLやSDL_mixerの関数とは異なり, この関数は成功ではなくエラーのとき0を戻す.

バージョン

SDL_mixer 2.0.0以降

関連項目(関数)

Mix_SetPosition
Mix_SetDistance

SDL Wikiへのリンク

SDL2_mixer/Mix_SetPanning