bool SDL_BindAudioStreams(SDL_AudioDeviceID devid, SDL_AudioStream * const *streams, int num_streams);
| SDL_AudioDeviceID | devid | ストリームにバインドされるオーディオデバイス |
| SDL_AudioStream * const * | streams | デバイスにバインドするオーディオストリームの配列 |
| int | num_streams | streams配列の要素数 |
(bool) 成功のとき真, 失敗のとき偽を戻す SDL_GetError()を呼んで詳細を知ることができる.
オーディオデータの入出力は, いずれかのストリームがバインドされたとき始まる. 再生デバイスの場合, 全てのバインドされたストリームのデータがミックスされ, デバイスに送られる. 録音デバイスの場合, 録音されたデータのコピーが各ストリームに供給される.
オーディオストリームはオープンしたデバイスにのみバインドできる. この操作はアトミックである. つまり1つの呼び出しでバインドした全てのストリームは処理が同時に始まり, 同期を保つことができる. また, 全てのストリームは, バインドされたか, バインドされていないかのいずれかの状態になる.
既にバインドされたストリームをバインドしようとするとエラーとなる. その場合, まず明示的にバインドを解除する必要がある.
ストリームをデバイスにバインドすると, 再生デバイスには出力形式が設定され, 録音デバイスには入力形式が設定されて, ストリームとデバイスの設定と一致する. 関数を呼んだ後, ストリームの再生または録音のどちらか一方の形式をSDL_SetAudioStreamFormat()でいつでも変更できる. ストリームの再生または録音のどちらか一方の側の形式を変更しない(オーディオストリームの設定をNULLで生成した)場合, デバイスの設定と一致した形式になる.
この関数はどのスレッドからも安全に呼べる.