目次 - SDL_mixer 3.0 - MIX_StopTrack

MIX_StopTrack

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

ヘッダ

SDL3_mixer/SDL_mixer.h

構文

bool MIX_StopTrack(MIX_Track *track, Sint64 fade_out_frames);

引数

MIX_Track *track停止させるトラック
Sint64fade_out_frames停止の前の無音になるまでのフェードのサンプルフレーム数. 0のとき即座に停止する

戻り値

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

詳細

fade_out_ms > 0 の場合, ミキシングはすぐには停止せず, 停止の前に無音に向かってフェードする. サンプルフレームはトラックに割り付けられた入力に固有のものであり, サンプル単位で正確にミキシングできる. トラックのサンプル数はMIX_TrackMSToFrames()でミリ秒に変換できる.

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

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

既に停止したトラックを停止させようとしてもよい. その場合は何も起こらず, 真を戻す.

スレッドセーフ

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

バージョン

SDL_image 3.0.0以降

関連項目

SDL Wikiへのリンク

SDL3_mixer/MIX_StopTrack