int Mix_AllocateChannels(int numchans)
numchans | 新しく設定するチャネルの数, 負の数のときは変更しない |
設定されたチャネル数を戻す.
SDL_mixの扱う「チャネル」は, モノラル/ステレオのチャネルとは異なる. チャネルとは, それぞれ個別に対応付けられたオーディオデータ源のことで, 「トラック」と呼ぶ方がわかりやすいかもしれない. 例えば, 3つの異なるWAVファイルを同時に再生する場合, 3つのSDL_mixerチャネルが必要となる.
アプリケーションは同時に再生したいオーディオデータの数だけチャネルが必要で, それらは1つのストリームにミキシングされてオーディオデバイスに送られる.
オーディオデバイスを開いたとき, SDL_mixerはMIX_CHANNELSの数だけ(現在は8)のチャネルを確保する. これはアプリケーションが必要とする数より多いかもしれない. チャネル数を増やしたり減らしたりしたい場合は, この関数で変更することができる.
チャネルの数を減らすと, 減らされた現在再生中のチャネルの再生は停止する. このとき, これらのチャネルのエフェクトは解除され, Mix_ChannelFinished()で設定されたコールバックが削除された各チャネルに対して呼ばれる.
numchansが0未満の場合, 何も変更せずに現在のチャネル数を戻す.