目次 - SDL_mixer 3.0 - MIX_SetTrackAudioStream

MIX_SetTrackAudioStream

MIX_Trackへの入力としてSDL_AudioStreamを設定する

ヘッダ

SDL3_mixer/SDL_mixer.h

構文

bool MIX_SetTrackAudioStream(MIX_Track *track, SDL_AudioStream *stream);

引数

MIX_Track *track新しいオーディオ入力を設定するトラック
SDL_AudioStream *stream新しいオーディオストリーム. NULLも可

戻り値

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

詳細

オーディオストリームを使用すると, アプリケーションはアルゴリズムによる生成やその場での生成などによる, あらゆる種類と形式の生成することができるようになる.

トラックがオーディオストリームを使用する場合, ミックスするデータが必要になるとSDL_GetAudioStreamDataが呼ばれる. アプリケーションはストリームのデータを先にバッファに入れておくことも, ストリームにコールバックを設定して必要な時点で渡すこともできる. 詳細はSDLのドキュメントにある.

与えられたオーディオストリームは一度に1つのトラックしか割り当てられない. 複数を割り当ててもエラーは戻さないが, 1つのストリームを複数のトラックに割り当てるとそれぞれのトラックがストリームから不規則に読み取り, 混乱や誤ったミックスが発生する.

トラックが有効なオーディオ入力を得られたら, MIX_PlayTrack()または可能ならばMIX_PlayTag()を呼んでミックスを開始できる.

この関数のオーディオストリームにNULLを渡すことができる. この場合はトラックからオーディオ入力を取り除く. トラックが再生中の場合, ミキサーの処理が行われる次のタイミングで認識され, トラックの停止がマークされ割り付けられたMIX_TrackStoppedCallbackが呼ばれる.

トラックの再生中にオーディオ入力を変更することはできる. しかし, 一部の設定, 例えばループ位置は, 新しいオーディオでは意味をなさなくなる場合がある. このような場合は, MIX_PlayTrackを再び呼んでパラメータを修正すること.

渡されたオーディオストリームはトラックが必要がなくなるまで有効を保つ必要がある(トラックの入力を変えた, またはトラックを破棄した場合でも).

スレッドセーフ

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

バージョン

SDL_image 3.0.0以降

SDL Wikiへのリンク

SDL3_mixer/MIX_SetTrackAudioStream