目次 - SDL_mixer 3.0 - MIX_StopAllTracks

MIX_StopAllTracks

再生中の全てのトラックを停止する. 徐々にフェードアウトさせることもできる

ヘッダ

SDL3_mixer/SDL_mixer.h

構文

bool MIX_StopAllTracks(MIX_Mixer *mixer, Sint64 fade_out_ms);

引数

MIX_Mixer *mixerこのミキサー上の全てのトラックを停止させる
Sint64fade_out_ms停止の前の無音になるまでのフェード時間. 0のとき即座に停止する

戻り値

(bool) 成功のとき真, エラーのとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

fade_out_ms > 0 の場合, ミキシングはすぐには停止せず, 停止の前に無音に向かってフェードする. MIX_StopTrack()がサンプルフレーム数を指定するのに対して, この関数はミリ秒を指定するのでに注意すること. トラックが異なるとサンプルレートが異なる場合があるためである.

フェードアウト中にトラックが通常通り終了した場合, オーディオはそこで停止する. フェードがオーディオの残りよりも長くても, 短く調整されない.

トラックが完全にフェードアウトして停止すると, 設定されていればMIX_TrackStoppedCallbackが呼ばれる. このコールバックでトラックへの新しい入力の割り当てや, トラックの再開始を行ってもよい.

この関数は新しい要求を妨げない. この関数で再生中の全てのトラックのフェードアウトを開始し, フェードアウトの最中に別のトラックの再生を通常通り開始してもよい.

スレッドセーフ

この関数はどのスレッドからも安全に呼べる.

バージョン

SDL_image 3.0.0以降

関連項目

SDL Wikiへのリンク

SDL3_mixer/MIX_StopAllTracks