void SDL_MixAudioFormat(Uint8* dst, const Uint8* src, SDL_AudioFormat format, Uint32 len, int volume)
| dst | ミキシングされた音声の出力先 |
| src | ミキシングする音声バッファ |
| format | SDL_AudioFormat |
| len | 音声バッファのバイト長 |
| volume | 0〜128の範囲, SDL_MIX_MAXVOLUMEのとき最大ボリューム |
受け取った形式formatのバイト長lenの音声バッファsrcを, ボリュームの調整とオーバーフローのクリップを行い, ミキシングしてdstに書き込む. dstバッファも, バイト長lenで形式formatの必要がある.
この関数は簡便さのために提供されている -- 自分で音声データをミキシングすることもできる.
この関数を2つ以上のサンプルデータのストリームをミキシングするために使ってはならない. この関数を繰り返し使うと, 出力はクリップによって劣化する. 入力より広い範囲に増幅することはないためである(これを行うのは非効率である). この場合, 代わりにSDL_mixerの関数, OpenAL, または自分で書いたミキサーを使うべきである.
この関数は, コールバック関数の中で出力ストリームに音声データを書くために必要だとよく誤解される. それも可能だが, SDL_MixAudioFormat()は1つの音声ストリームのボリュームを調整してミキシングする場合のみ必要である.