目次 - SDL_mixer 3.0 - MIX_CreateMixerDevice

MIX_CreateMixerDevice

オーディオデバイスから音声を再生するミキサーを生成する

ヘッダ

SDL3_mixer/SDL_mixer.h

構文

MIX_Mixer * MIX_CreateMixerDevice(SDL_AudioDeviceID devid, const SDL_AudioSpec *spec);

引数

SDL_AudioDeviceIDdevid再生のためにオープンするデバイス. デフォルトならばSDL_AUDIO_DEVICE_DEFAULT_PLAYBACK
const SDL_AudioSpec *specデバイスのオーディオ形式. NULLも可

戻り値

(MIX_Mixer *) オーディオを再生するために使用できるミキサーを戻す. 失敗のときNULLを戻す. SDL_GetError()を呼んで詳細を知ることができる.

詳細

通常は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()で破棄できる.

スレッドセーフ

この関数を呼べるのはメインスレッドのみである.

バージョン

SDL_image 3.0.0以降

関連項目

SDL Wikiへのリンク

SDL3_mixer/MIX_CreateMixerDevice