int Mix_Init(int flags)
flags | 初期化フラグ. 論理和で複数設定できる |
この関数はSDL_mixerが必要とする動的ライブラリを読み込み, それを使う準備を行う.
他のSDLライブラリとは異なり, この呼び出しは任意であることに注意すること. 音楽ファイルを読み込むとき, SDL_mixerはその場で初期化を行う. この関数は事前に特定の形式が利用できるかを知るために使える.
フラグはMIX_InitFlagsの1つ以上で, 論理和で複数指定できる. 戻り値は正常に初期化されたフラグで, 失敗のとき0となる.
現在使用できるフラグは以下の通りである:
この関数は様々なコーデックに対応するために外部の共有ライブラリを読み込む. つまり, そのライブラリが利用できないために初期化に失敗する可能性がある. これはメモリ不足などの例外的な場合だけではない.
この関数は新たにフラグを追加するために複数回呼べることに注意すること. 戻り値には新しく指定したフラグだけでなく既に初期化されたフラグも含まれている.
これまでに初期化したフラグを得るため, 0で呼ぶ(フラグを設定しない)のは正しい使い方である. これは変更を加えずに現在の初期化状態を得る安全な方法である.
戻り値には新しく初期化したフラグと同様に既に初期化されたフラグも含まれているため, 0で呼んだ場合, エラーを戻り値が0であるかでチェックすることはできない. 代わりに戻り値に指定したフラグが全て含まれているかでチェックすること. 特定の形式が必要なソフトウェアの場合, これは致命的なエラーになりうる. たとえ全形式の初期化を要求した場合でも, 一般的な音声再生ならばWAVやMP3のみを使用し, Opusなどは不要にする方がよいかもしれない.
他のSDL周辺ライブラリとは異なり, Mix_Initの呼び出しは積み重ならない. Mix_Quit()を一度だけ呼べば全ての後処理を行うことができ, Mix_Init呼び出しとペアになっている必要はない. 最もよいのはプログラムではMix_InitとMix_Quit()を1度ずつ呼ぶことである. 必ずそうする必要はないが, そこから外れた場合には危険性に注意する必要がある.
SDL_mixerを初期化した後に, 音声再生のためにオーディオデバイスを(Mix_OpenAudio()またはMix_OpenAudioDevice()を使用して)開き, そのデバイスで再生する音声データを読み込むこと.