目次 - API(機能別) - 再生と録音 - SDL_OpenAudio
SDL_OpenAudio
オーディオデバイスを開く古い関数. 新しいプログラムは代わりにSDL_OpenAudioDevice()を使う方がよい
構文
int SDL_OpenAudio(SDL_AudioSpec* desired, SDL_AudioSpec* obtained)
引数
戻り値
この関数はオーディオデバイスを要求したパラメータで開く. 成功のとき0を戻し, 実際のハードウェアのパラメータをobtainedの示すポインタに書き込む.
obtainedがNULLの場合, コールバック関数に渡される音声データは要求した形式であることが保証されている. そして必要ならば実際のハードウェアの音声形式に自動的に変換される.
obtainedがNULLの場合, desiredのフィールドが書き換えられる.
この関数はオーディオデバイスを開く, またはオーディオスレッドの設定に失敗したとき, 負の数のエラーコードを戻す.
SDL_GetError()を呼んで詳細を知ることができる.
詳細
この関数はSDL1.2との互換性のために残されている.
しかし, SDL2の新しい関数よりもやや簡単に使えるという理由もある.
オーディオデバイスを開く, 新しくより強力な推奨される方法は, SDL_OpenAudioDevice()を使うことである.
この関数は
SDL_CloseAudioDevice(1);
と同じである.
2つの異なる点がある.
-
obtainedがNULLのとき, desiredが(変更されず)使われる.
その場合, desiredのsilenceなどの値は正しい値に変更される.
そして, SDLはアプリケーションの要求とハードウェアの違いを変換する.
-
戻された値は成功か失敗のいずれかで, デバイスのIDではない.
よって, この関数では一度に1つのデバイスしか開けない.
関連項目(関数)
SDL_CloseAudio
SDL_LockAudio
SDL_PauseAudio
SDL_UnlockAudio
SDL Wikiへのリンク
SDL_OpenAudio - SDL Wiki