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

SDL_GetAudioStreamQueued

オーディオストリームのキューに入力されたデータのバイト数を得る

ヘッダ

SDL3/SDL_audio.h

構文

int SDL_GetAudioStreamQueued(SDL_AudioStream *stream);

引数

SDL_AudioStream *stream問い合わせるオーディオストリーム

戻り値

(int) キューにあるデータのバイト数を戻す. 失敗のとき-1を戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

この関数が戻すのは, キューに入力されたバイト数であり, キューから出力できるバイト数ではない. いくつかの理由により, 一方の値からもう一方の値を求めることはできない. 今すぐ利用できるデータがどれだけあるかが必要な場合は, この関数ではなくSDL_GetAudioStreamAvailable()を使う必要がある.

オーディオストリームは, 異なる形式のデータがまだキューにある場合でも入力形式を変えられる. そのため, この関数が戻したバイト数はサンプルフレーム数とは必ずしも一致しないので注意すること. この関数を使う場合は, ストリームへの入力時の形式の変化に注意し, それに応じて計画を立てる必要がある.

キューのデータはSDL_GetAudioStreamDataで取り出すまで変換されない. そのため, この関数が戻す値はストリームに実際に入力されたデータを表している.

ストリームのデータが多すぎてintをオーバーフローしそうになると, 最大値で制限され, データはキューに入らず失われる. ギガバイト単位のデータがキューにある場合は, アプリケーションはこの関数の戻り値が制限される前にSDL_GetAudioStreamDataで読み込む必要がある.

スレッドセーフ

この関数はどのスレッドからも安全に呼べる.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_GetAudioStreamQueued - SDL Wiki