目次 - SDL 3.0 API(機能別) - 再生と録音 - SDL_SetAudioStreamFormat

SDL_SetAudioStreamFormat

オーディオストリームの形式を設定する

ヘッダ

SDL3/SDL_audio.h

構文

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_GetAudioStreamAvailableSDL_GetAudioStreamDataの呼び出しでは新しい形式が適用され, SDL_PutAudioStreamDataに渡すデータは新しい入力形式の必要がある.

ストリームのキューにあるデータは, 追加された時点の形式で既に処理されている. そのため, サウンドファイルをある形式で最後までストリームに入れ, 次のファイルでは形式を変え, 前のサウンドファイルがキューにある状態で新しいデータの入力を開始しても, 全て正しく再生される.

ストリームがデバイスにバインドされている場合, デバイスにバインドされている側のストリームの形式は変えることができない(録音デバイスならばsrc_spec, 再生デバイスならばdst_spec). その側を変更しようとすると無視されるが, エラーは報告されない. 別の側の形式は変更できる.

スレッドセーフ

この関数はストリーム固有のミューテックスが行われている限りどのスレッドからも安全に呼べる.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_SetAudioStreamFormat - SDL Wiki