MIX_Mixer * MIX_CreateMixerDevice(SDL_AudioDeviceID devid, const SDL_AudioSpec *spec);
| SDL_AudioDeviceID | devid | 再生のためにオープンするデバイス. デフォルトならばSDL_AUDIO_DEVICE_DEFAULT_PLAYBACK |
| const SDL_AudioSpec * | spec | デバイスのオーディオ形式. NULLも可 |
通常はMIX_CreateMixer()ではなくこの関数を使用する.
SDLの通常の方法に従いオープンするデバイスIDを選択できるが, 多くの場合はSDL_AUDIO_DEVICE_DEFAULT_PLAYBACKを指定してSDLに使用するデバイスを選択させる方がよい. (デフォルトが変わったとき新しいハードウェアに途切れることなく移行するため.)
ここで使用できるのは再生デバイスのみである. 録音デバイスをオープンしようとすると失敗する.
この関数は内部でSDL_Init(SDL_INIT_AUDIO)を呼ぶ.
オープンするオーディオデバイスの一覧を得るためにこの関数を呼ぶ前にSDL_Init()を呼ぶのも安全である.
オーディオ形式を要求でき, システムは要求のまたは可能な限り近い仕様でハードウェアを設定しようとするが, これは単なるヒントに過ぎない.
SDL_mixerはどのような場合でも背後で全てのデータを変換して扱う. また, specをNULLにすると適切と考えられる選択をする.
形式を指定する最大の理由は, 自分のデータがその形式であることがわかるためであり, また変換のための不要なCPU時間を抑えられるためである.
実際に選択されたデバイス形式はMIX_GetMixerFormat()で得られる.
ミキサーを生成した後は, 通常は(MIX_LoadAudio()などで)オーディオデータを読み込み, (MIX_CreateTrack()で)トラックを生成し, そのトラックのオーディオデータを再生する.
ミキサーを使用し終えたならば, MIX_DestroyMixer()で破棄できる.
この関数を呼べるのはメインスレッドのみである.