目次 - 4.関数 - 4.3チャネル - Mix_CloseAudio

Mix_CloseAudio

ミキサーを閉じて全てのオーディオ再生を終了する

構文

void Mix_CloseAudio(void)

詳細

全てのチャネルが終了し, 登録されたエフェクトが解放され, この関数から戻る前にMix_ChannelFinished()で登録されたコールバック関数が呼ばれる.

全ての音楽が終了し, この関数から戻る前にMix_HookMusicFinished()で登録されたコールバック関数が呼ばれる.

この関数からのコールバック中に新たにオーディオの再生を開始してはならない.

この関数はオーディオデバイスを閉じる. 別のMix_OpenAudio()またはMix_OpenAudioDevice()の呼び出しを行わない限り, この関数の後に新たにオーディオ再生を行おうとすると失敗する.

(Mix_OpenAudioがあなたのアプリケーションに代わりSDL_Init(SDL_INIT_AUDIO)を呼ぶのとは異なり,) この関数はSDLオーディオサブシステムを解放しないので注意すること. この関数とMix_Quit()を呼んだ時点で, アプリケーションはSDL_Quit()を呼んでオーディオサブシステムを含む全SDLを解放する必要がある.

この関数はMix_Quit()の前に呼ぶ最後のSDL_mixer関数でなければならない. しかし, これに従わない場合は以下に注意すること:

この関数はチャンクと音楽を解放しないので注意すること. よって, これらの資源は別に解放する必要がある. この関数の後でこれらを解放するのは形式的には不適切だが, デバイスを閉じた後でMix_FreeChunk()Mix_FreeMusic()を呼んでも安全である.

解放しなかったチャンクや音楽は, 再びMix_OpenAudio()を呼んだ場合, 有効である場合とない場合がある. オーディオデバイスの形式が新しくなり, 既に存在するチャンクが適合するように変換されない場合があるためである.

バージョン

SDL_mixer 2.0.0以降

原文へのリンク

SDL_mixer/Mix_CloseAudio