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

SDL_GetAudioStreamData

ストリームから変換/再サンプリングされたデータを得る

ヘッダ

SDL3/SDL_audio.h

構文

int SDL_GetAudioStreamData(SDL_AudioStream *stream, void *buf, int len);

引数

SDL_AudioStream *streamオーディオデータを要求するストリーム
void *bufオーディオデータを書き込むバッファへのポインタ
intlen書き込みデータの最大バイト数

戻り値

(int) 成功のときストリームから読み込んだバイト数, 失敗のとき-1を戻す SDL_GetError()を呼んで詳細を知ることができる.

詳細

データは, 形式/チャネル/周波数が, 最後に呼んだSDL_SetAudioStreamFormat, または変更していないならばストリームを生成したときのものと一致している必要がある.

必要な変換と再サンプリングはこの関数の呼び出しで行っており, SDL_PutAudioStreamDataでは後で処理するために単に未変換のデータをキューに入れるだけなので注意すること. ストリームへの新しいデータの入力時には変換が完了していて, 関数の呼び出しでは単に変換されたデータをコピーしていたSDL2とは異なる.

スレッドセーフ

この関数はどのスレッドからも安全に呼べるが, ストリームにコールバックが設定されている場合は, 呼び出し側のロックが必要になる.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_GetAudioStreamData - SDL Wiki