目次 - SDL_mixer 3.0 - MIX_PlayAudio

MIX_PlayAudio

MIX_Audioを管理せずに先頭から末尾まで再生する

ヘッダ

SDL3_mixer/SDL_mixer.h

構文

bool MIX_PlayAudio(MIX_Mixer *mixer, MIX_Audio *audio);

引数

MIX_Mixer *mixeraudioを再生するミキサー
MIX_Audio *audio再生するオーディオデータ

戻り値

(bool) ミックスが開始されたとき真, エラーのとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

これは私たちが「撃ちっぱなし(fire-and-forget)」サウンドと呼んでいる方法である. 内部では, SDL_mixerは指定のMIX_Audioの一時的なトラックで処理し, 完了時に消去している. MIX_PlayTrack()のようにミックスの方法のオプションは指定できず, またトラックは呼び出し側が使用できないため, ミックスの時間の調整はできない.

この関数はゲーム全体の複雑な処理で使用できるものではないが, 単純な途中で停止させない一回限りの再生には便利である. 例えば, 一時停止できないゲーム終了時に「ゲームオーバー」の音声を再生する場合などである.

一度にミックスできる「撃ちっぱなし」サウンドの数に(メモリ不足にならない限りは)制限はなく, SDL_mixerの内部の一時トラックは必要な場合に生成され, 可能ならば再利用される.

スレッドセーフ

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

バージョン

SDL_image 3.0.0以降

関連項目

SDL Wikiへのリンク

SDL3_mixer/MIX_PlayAudio