void SDL_CloseAudioDevice(SDL_AudioDeviceID devid);
SDL_AudioDeviceID | devid | SDL_OpenAudioDevice()が戻したオープンされたオーディオデバイスID |
アプリケーションはオープンしたデバイスが不要になったときクローズする必要がある.
この関数はハードウェアが保留中のオーディオデータを再生するまで短くブロックする. そのため, クローズした直後にアプリケーションを終了させる場合でも, アプリケーションが供給した最後のデータを切り捨てることはない.
この関数はどのスレッドからも安全に呼べる.
extern SDL_AudioSpec want;
SDL_AudioDeviceID devid = SDL_OpenAudioDevice(SDL_AUDIO_DEVICE_DEFAULT_PLAYBACK, &want);
if (devid != 0) {
SDL_ResumeAudioDevice(devid);
SDL_Delay(5000); // デバイスに5秒間再生させる
SDL_CloseAudioDevice(devid);
}