int Mix_FadeInChannel(int channel, Mix_Chunk *chunk, int loops, int ms)
channel | 新しいチャンクを再生するチャネル. -1のとき可能なチャネルを探す |
chunk | 新しく再生するチャンク |
loops | チャンクを再生する回数. -1のとき無限にループする |
ms | フェードインのミリ秒単位の時間 |
この関数はMix_PlayChannel()と同じように新しいチャンクを再生するが, 無音から通常のボリュームまで指定のミリ秒時間でフェードインしながら再生する.
channelに-1を指定すると, 空いている最初のチャネルで再生する. (そして空いているチャネルがない場合は, -1を戻し何も再生しない.)
channelに特定のチャネルを指定すると, そのチャネルが既に再生中の場合はチャンクを中断して新しいチャンクと置き換える.
loopsが0より大きい場合, その回数だけ再生する. loopsが-1の場合, 「無限」(65000回)に再生する.
フェード中のチャネルは, その最中にMix_Volume()が呼ばれても, ボリュームが徐々に変化する. (言い換えると, フェード中のチャネルにはMix_Volume()を呼んでも無意味である.)
SDL_mixer 2.6.0以前は, これはMix_FadeInChannelTimed()の第4引数を-1としたマクロだった. 現在は同じ動作を行うが正式なAPI関数となっている. 古いバイナリに新しいSDL_mixerをリンクした場合, 初期の頃と同じようにマクロが使われてMix_FadeInChannelTimedが直接呼ばれる.