目次 - SDL_mixer 3.0 - MIX_TrackMixCallback

MIX_TrackMixCallback

トラックの様々な段階でのミキシングで呼ばれるコールバックを設定する

ヘッダ

SDL3_mixer/SDL_mixer.h

構文

typedef void (SDLCALL *MIX_TrackMixCallback)(void *userdata, MIX_Track *track, const SDL_AudioSpec *spec, float *pcm, int samples);

引数

void *userdata私的な利用のためにコールバックに渡された不透明ポインタ
MIX_Mixer *mixerオーディオを生成するミキサー
const SDL_AudioSpec *specpcmのデータ形式
float *pcm32ビット浮動小数点形式の無圧縮PCMデータ
intsamplespcmの浮動小数点の値の数

詳細

このコールバックはミキシングパイプラインの各段階で呼ばれ, アプリケーションは様々な段階で生成されたオーディオデータを見ることができる.

このプッシュされたオーディオデータは定数データではない. アプリケーションは自由に変更することができ, その変更はミキシングパイプラインに伝えられる.

オーディオデータ形式が提供される. グループが異なると形式も異なる場合があり, アプリケーションがこれに対処できるようにする必要があるが, SDL_mixerは入力や最終的な出力が浮動小数点でない場合でも常に32ビット浮動小数点でミキシング処理を行う. そのため, spec->formatは常にSDL_AUDIO_F32で, pcmは浮動小数点でハードコードされている.

samplespcmの浮動小数点の値の数で, サンプルフレーム数ではない. 一度のコールバックでのサンプルの数には保証がなく, その数は様々な要因により呼び出しのたびに大きく変化する可能性がある.

このコールバックの最中のトラックの変更は未定義の動作となるが, pcm内のデータの変更はトラックの変更ではない.

バージョン

SDL_image 3.0.0以降

関連項目

SDL Wikiへのリンク

SDL3_mixer/MIX_TrackMixCallback