目次 - API(機能別) - 再生と録音 - SDL_CloseAudioDevice

SDL_CloseAudioDevice

音声処理を終了しオーディオデバイスを閉じる

構文

void SDL_CloseAudioDevice(SDL_AudioDeviceID dev)

引数

devSDL_OpenAudioDevice()で開いたオーディオデバイスのID

サンプルコード

extern SDL_AudioSpec want;
SDL_AudioDeviceID devid = SDL_OpenAudioDevice(NULL, 0, &want, NULL, 0);
if (devid > 0) {
    SDL_PauseAudioDevice(devid, 0);
    SDL_Delay(5000);  // オーディオコールバックを5秒間実行させる
    SDL_CloseAudioDevice(devid);
}

詳細

アプリケーションは必要がなくなった開かれたオーディオデバイスを閉じなければならない. この関数を呼ぶと, そのデバイスのコールバック関数の実行が終わるまで待ち, オーディオのハードウェアを解放し, 内部状態の後処理を行う. この関数から戻ると, そのデバイスから再生されることはない.

この関数は, 再生されていない音声データをハードウェアに送るまでの短い時間ブロックする. そのため, アプリケーションは最後のデータを失うことはない.

デバイスIDはデバイスが閉じるとすぐに無効になる. そして, 新しくSDL_OpenAudioDevice()が呼ばれると, すぐに再利用される.

バージョン

SDL 2.0.0以降

関連項目(関数)

SDL_OpenAudioDevice

SDL Wikiへのリンク

SDL_CloseAudioDevice - SDL Wiki