目次 - SDL_mixer - API(機能別) - チャネル - Mix_FadeInChannelTimed

Mix_FadeInChannelTimed

再生時間を指定して指定のチャネルで音声チャンクをフェードインしながら再生する

構文

int Mix_FadeInChannelTimed(int channel, Mix_Chunk *chunk, int loops, int ms, int ticks)

引数

channel新しいチャンクを再生するチャネル. -1のとき可能なチャネルを探す
chunk新しく再生するチャンク
loopsチャンクを再生する回数. -1のとき無限にループする
msフェードインのミリ秒単位の時間
ticksチャンクのミリ秒単位の再生時間

戻り値

再生に使われたチャネルを戻す. 再生できなかったとき-1を戻す.

詳細

この関数はMix_PlayChannel()と同じように新しいチャンクを再生するが, 無音から通常のボリュームまで指定のミリ秒時間でフェードインしながら再生する.

channelに-1を指定すると, 空いている最初のチャネルで再生する. (そして空いているチャネルがない場合は, -1を戻し何も再生しない.)

channelに特定のチャネルを指定すると, そのチャネルが既に再生中の場合はチャンクを中断して新しいチャンクと置き換える.

loopsが0より大きい場合, その回数だけ再生する. loopsが-1の場合, 「無限」(65000回)に再生する.

ticksはチャンクの再生ミリ秒時間である. チャンクの全データ分を再生する場合は-1を指定すること.

この関数はticksで設定した時間ブロックされないので注意すること. チャンクの停止までの時間を設定して, ミキサーの後の管理のために時間を記録し, すぐに復帰する.

フェード中のチャネルは, その最中にMix_Volume()が呼ばれても, ボリュームが徐々に変化する. (言い換えると, フェード中のチャネルにはMix_Volume()を呼んでも無意味である.)

バージョン

SDL_mixer 2.0.0以降

SDL Wikiへのリンク

SDL2_mixer/Mix_FadeInChannelTimed