bool SDL_SetAudioStreamFormat(SDL_AudioStream *stream, const SDL_AudioSpec *src_spec, const SDL_AudioSpec *dst_spec);
| SDL_AudioStream * | stream | 形式を変更するオーディオストリーム |
| const SDL_AudioSpec * | src_spec | オーディオ入力の形式 |
| const SDL_AudioSpec * | dst_spec | オーディオ出力の形式 |
(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.
以降のSDL_GetAudioStreamAvailableとSDL_GetAudioStreamDataの呼び出しでは新しい形式が適用され, SDL_PutAudioStreamDataに渡すデータは新しい入力形式の必要がある.
ストリームのキューにあるデータは, 追加された時点の形式で既に処理されている. そのため, サウンドファイルをある形式で最後までストリームに入れ, 次のファイルでは形式を変え, 前のサウンドファイルがキューにある状態で新しいデータの入力を開始しても, 全て正しく再生される.
ストリームがデバイスにバインドされている場合, デバイスにバインドされている側のストリームの形式は変えることができない(録音デバイスならばsrc_spec, 再生デバイスならばdst_spec).
その側を変更しようとすると無視されるが, エラーは報告されない.
別の側の形式は変更できる.
この関数はストリーム固有のミューテックスが行われている限りどのスレッドからも安全に呼べる.