|  C04.SDL_Mixer 簡易リファレンスSDL_Mixerの簡易リファレンスを紹介します。
 
  
 
  使用可能フォーマット 効果音:WAVE/AIFF/RIFF/OGG/VOC
 BGM  :WAVE/MOD/MIDI/OGG/MP3
 
 
  英語版ドキュメント Documentation:フレームあり
 Documentation:フレームなし
 
 
  関数一覧 概要
 
 
Mix_Linked_Version		SDL_mixerのバージョン情報を取得します。
Mix_OpenAudio		SDL_MixerAPIの初期化を行います。
Mix_CloseAudio		SDL_MixerAPIを終了します。
Mix_SetError		エラー文字列をセットします。
Mix_GetError		現在のエラー文字列を取得します。
Mix_QuerySpec		現在開いているAUDIOフォーマット情報を問い合わせます。
 | 
Mix_Linked_Version
const SDL_version *Mix_Linked_Version()
void MIX_VERSION(SDL_version *compile_version)
SDL_mixerのバージョン情報を取得します。
compile_version	:バージョン情報を格納します。
Mix_OpenAudio
int Mix_OpenAudio(int frequency, Uint16 format, int channels, int chunksize)
SDL_MixerAPIの初期化を行います。
事前にSDL_INIT_AUDIOを指定してSDL_Init()を実行しておく必要があります。
frequency		:サンプリング周波数を指定します。
format		:波形フォーマットを指定します。
channels		:チャネル数を指定します。(0:モノラル、1:ステレオ)
chunksize		:サウンドバッファサイズを指定します。
 Mix_CloseAudio
void Mix_CloseAudio()
SDL_MixerAPIを終了します。
 Mix_SetError
void Mix_SetError(const char *fmt, ...)
SDL_SetError()と同じで、エラー文字列をセットします。
 Mix_GetError
char *Mix_GetError()
SDL_GetError()と同じで、現在のエラー文字列を取得します。
 Mix_QuerySpec
int Mix_QuerySpec(int *frequency, Uint16 *format, int *channels)
現在開いているAUDIOフォーマット情報を問い合わせます。
frequency		:AUDIOデバイスの周波数を格納します。
format		:AUDIOデバイスのフォーマットを格納します。
channels		:AUDIOデバイスのチャネルを格納します。(0:モノラル、1:ステレオ)
 | 
 効果音
 
Mix_LoadWAV		効果音を読み込みます。
Mix_LoadWAV_RW		自動で終了/開放するかを指定して、効果音を読み込みます。
Mix_QuickLoad_WAV		メモリ上のWAVEファイルを呼び出す?
Mix_QuickLoad_RAW		メモリ上のWAVEファイルを呼び出す?
Mix_VolumeChunk		効果音のボリュームを調整します。
Mix_FreeChunk		効果音を開放します。
 | 
Mix_LoadWAV
Mix_Chunk *Mix_LoadWAV(char *file)
効果音を読み込みます。ファイルで指定できるのは、WAVE/AIFF/RIFF/OGG/VOCです。
これは、Mix_LoadWAV_RW(SDL_RWFromFile(file, "rb"), 1)と同じ処理をしています。
file		:ファイル名
Mix_LoadWAV_RW
Mix_Chunk *Mix_LoadWAV_RW(SDL_RWops *src, int freesrc)
自動で終了/開放するかを指定して、効果音を読み込みます。
src		:ソース(ファイル)名
freesrc		:自動で終了/開放するか(0:自動終了しない、1:自動終了する)
 Mix_QuickLoad_WAV
Mix_Chunk *Mix_QuickLoad_WAV(Uint8 *mem)
メモリ上のWAVEファイルを呼び出す?
mem		:WAVEファイルを格納するバッファ。
 Mix_QuickLoad_RAW
Mix_Chunk *Mix_QuickLoad_RAW(Uint8 *mem)
メモリ上のWAVEファイルを呼び出す?
mem		:WAVEファイルを格納するバッファ。
 Mix_VolumeChunk
int Mix_VolumeChunk(Mix_Chunk *chunk, int volume)
効果音のボリュームを調整します。
chunk		:調整するMix_Chunk(効果音)を指定します。
volume		:ボリュームを指定します。(0:最小〜128:最大)
 Mix_FreeChunk
void Mix_FreeChunk(Mix_Chunk *chunk)
効果音を開放します。
chunk		:開放するMix_Chunk(効果音)を指定します。
 | 
 チャネル
 
Mix_AllocateChannels	チャネル数をセットします。
Mix_Volume		チャネルのボリュームを指定します。
Mix_PlayChannel		効果音を再生します。
Mix_PlayChannelTimed	指定した時間内だけ効果音を再生します。
Mix_FadeInChannel		フェードインしながら効果音を再生します。
Mix_FadeInChannelTimed	指定した時間内でフェードインしながら効果音を再生します。
Mix_Pause			効果音を一時停止します。
Mix_Resume		一時停止している効果音を再開します。
Mix_HaltChannel		効果音を停止します。
Mix_ExpireChannel		指定した時間後に効果音を停止します。?
Mix_FadeOutChannel		フェードアウト後に効果音を停止します。
Mix_ChannelFinished	チャネルが終了した際に関数を呼び出します。
Mix_Playing		チャネルが再生しているかどうかを取得します。
Mix_Paused		チャネルが一時停止しているかどうかを取得します。
Mix_FadingChannel		チャネルがフェード中かどうか取得します。
Mix_GetChunk		現在再生している効果音を取得します。
 | 
Mix_AllocateChannels
int Mix_AllocateChannels(int numchans) 
チャネル数をセットします。
numchans		:チャネル数を指定します。
Mix_Volume
int Mix_Volume(int channel, int volume) 
チャネルのボリュームを指定します。
channel		:ボリュームを設定するチャネル番号を指定します。(-1:全てのチャネル)
volume		:ボリュームを指定します。(0:最小〜128:最大)
 Mix_PlayChannel
int Mix_PlayChannel(int channel, Mix_Chunk *chunk, int loops) 
効果音を再生します。
channel		:使用するチャネルを指定します。(-1:空いているチャネルを使用します)
chunk		:再生する効果音を指定します。
loops		:繰り返し回数を指定します。(-1:ループ)
 Mix_PlayChannelTimed
int Mix_PlayChannelTimed(int channel, Mix_Chunk *chunk, int loops, int ticks) 
指定した時間内だけ効果音を再生します。
channel		:使用するチャネルを指定します。(-1:空いているチャネルを使用します)
chunk		:再生する効果音を指定します。
loops		:繰り返し回数を指定します。(-1:ループ)
ticks		:再生する時間をmsで指定します。(-1:時間制限を設けません)
 Mix_FadeInChannel
int Mix_FadeInChannel(int channel, Mix_Chunk *chunk, int loops, int ms) 
フェードインしながら効果音を再生します。
channel		:使用するチャネルを指定します。(-1:空いているチャネルを使用します)
chunk		:再生する効果音を指定します。
loops		:繰り返し回数を指定します。(-1:ループ)
ms		:フェードインするまでの時間をmsで指定します。
 Mix_FadeInChannelTimed
int Mix_FadeInChannelTimed(int channel, Mix_Chunk *chunk, int loops, int ms, int ticks)
指定した時間内でフェードインしながら効果音を再生します。
channel		:使用するチャネルを指定します。(-1:空いているチャネルを使用します)
chunk		:再生する効果音を指定します。
loops		:繰り返し回数を指定します。(-1:ループ)
ticks		:再生する時間をmsで指定します。(-1:時間制限を設けません)
 Mix_Pause
void Mix_Pause(int channel) 
効果音を一時停止します。
channel		:一時停止する効果音のチャネルを指定します。(-1:全てのチャネルを指定します)
 Mix_Resume
void Mix_Resume(int channel) 
一時停止している効果音を再開します。
channel		:再開するチャネルを指定します。(-1:全てのチャネルを指定します)
 Mix_HaltChannel
int Mix_HaltChannel(int channel) 
効果音を停止します。
channel		:停止する効果音のチャネルを指定します。(-1:全てのチャネルを指定します)
 Mix_ExpireChannel
int Mix_ExpireChannel(int channel, int ticks) 
指定した時間後に効果音を停止します。?
channel		:停止する効果音のチャネルを指定します。(-1:全てのチャネルを指定します)
ticks		:停止するまでの時間をmsで指定します。
 Mix_FadeOutChannel
int Mix_FadeOutChannel(int channel, int ms) 
フェードアウト後に効果音を停止します。
channel		:フェードアウトするチャネルを指定します。(-1:全てのチャネルを指定します)
ms		:フェードアウトするまでの時間をmsで指定します。
 Mix_ChannelFinished
void Mix_ChannelFinished(void (*channel_finished)(int channel)) 
チャネルが終了した際に関数を呼び出します。
channel_finished	:終了した際に呼ばれる関数を指定します。
 Mix_Playing
int Mix_Playing(int channel) 
チャネルが再生しているかどうかを取得します。
channel		:状態を取得するチャネルを指定します。(-1:何チャネル再生しているを問い合わせます)
 Mix_Paused
int Mix_Paused(int channel) 
チャネルが一時停止しているかどうかを取得します。
channel		:状態を取得するチャネルを指定します。(-1:何チャネル一時停止しているか問い合わせます)
 Mix_FadingChannel
Mix_Fading Mix_FadingChannel(int which) 
チャネルがフェード中かどうか取得します。
which		:状態を取得するチャネルを指定します。(-1は無効です)
 Mix_GetChunk
Mix_Chunk *Mix_GetChunk(int channel) 
現在再生している効果音を取得します。
channel		:取得するチャネルを指定します。(-1は無効です)
 | 
 グループ
 
Mix_ReserveChannels	チャネルの予約(デフォルトグループで使用されるのを停止)します。?
Mix_GroupChannel		チャネルをグループに追加、グループからチャネルを削除します。
Mix_GroupChannels		複数のチャネルをグループに追加、グループからチャネルを削除します。?
Mix_GroupCount		グループの中のチャネル数を取得します。
Mix_GroupAvailable		グループの中で使われていないチャネルを取得します。
Mix_GroupOldest		グループの中で古いチャネルを取得します。
Mix_GroupNewer		グループの中で新しいチャネルを取得します。
Mix_FadeOutGroup		時間をかけてグループをフェードアウトさせます。
Mix_HaltGroup		グループを停止させます。
 | 
Mix_ReserveChannels
int Mix_ReserveChannels(int num) 
チャネルの予約(デフォルトグループで使用されるのを停止)します。?
num		:予約するチャネル数を指定します。
Mix_GroupChannel
int Mix_GroupChannel(int which, int tag) 
チャネルをグループに追加、グループからチャネルを削除します。
which		:タグを指定するチャネル番号を指定します。
tag		:グループ番号を指定します。(-1:デフォルトグループ)
 Mix_GroupChannels
int Mix_GroupChannels(int from, int to, int tag) 
複数のチャネルをグループに追加、グループからチャネルを削除します。?
from		:最初のチャネル番号を指定します。
to		:最後のチャネル番号を指定します。
tag		:グループ番号を指定します。
 Mix_GroupCount
int Mix_GroupCount(int tag) 
グループの中のチャネル数を取得します。
tag		:グループ番号を指定します。(-1:全てのチャネル)
 Mix_GroupAvailable
int Mix_GroupAvailable(int tag) 
グループの中で使われていないチャネルを取得します。
tag		:グループ番号を指定します。(-1:全てのチャネルを検索)
 Mix_GroupOldest
int Mix_GroupOldest(int tag) 
グループの中で古いチャネルを取得します。
tag		:グループ番号を指定します。(-1:全てのチャネルを検索)
 Mix_GroupNewer
int Mix_GroupNewer(int tag) 
グループの中で新しいチャネルを取得します。
tag		:グループ番号を指定します。(-1:全てのチャネルを検索)
 Mix_FadeOutGroup
int Mix_FadeOutGroup(int tag, int ms) 
時間をかけてグループをフェードアウトさせます。
tag		:フェードアウトするグループを指定します。
ms		:フェードアウトするまでの時間をmsで指定します。
 Mix_HaltGroup
int Mix_HaltGroup(int tag) 
グループを停止させます。
tag		:停止させるグループを指定します。
 | 
 MUSIC
 
Mix_LoadMUS		BGMを読み込みます。
Mix_FreeMusic		BGMを開放します。
Mix_PlayMusic		BGMを再生します。
Mix_FadeInMusic		フェードインさせながらBGMを再生します。
Mix_FadeInMusicPos		フェードインさせながらBGMを再生します。
Mix_HookMusic		他のMUSICプレイヤーへフックします。
Mix_VolumeMusic		MUSICのボリュームを設定します。
Mix_PauseMusic		MUSICを一時停止します。
Mix_ResumeMusic		一時停止されているMUSICの再生を再開します。
Mix_RewindMusic		巻き戻してMUSICを再生します。
Mix_SetMusicPosition	MUSICを再生する位置を指定します。
Mix_SetMusicCMD		MUSICを再生するために外部コマンドを指定します。
Mix_HaltMusic		MUSICの再生を停止します。
Mix_FadeOutMusic		フェードアウトさせながらMUSICを停止します。
Mix_HookMusicFinished	MUSIC再生が終了した際に関数を呼び出します。
Mix_GetMusicType		MUSICの種類を取得します。
Mix_PlayingMusic		MUSICが再生中かどうか確認します。
Mix_PausedMusic		MUSICが一時停止かどうか確認します。
Mix_FadingMusic		MUSICがフェード中かどうか確認します。
Mix_GetMusicHookData	Mix_HookMusicでのフック場所を取得します。
 | 
Mix_LoadMUS
Mix_Music *Mix_LoadMUS(const char *file) 
BGMを読み込みます。
file		:BGMのファイル名を指定します。使用可能なBGMはWAVE/MOD/MIDI/OGG/MP3です。
Mix_FreeMusic
void Mix_FreeMusic(Mix_Music *music) 
BGMを開放します。
music		:開放するBGMを指定します。
 Mix_PlayMusic
int Mix_PlayMusic(Mix_Music *music, int loops) 
BGMを再生します。
music		:再生するBGMを指定します。
loops		:再生する回数を指定します。(-1:ループ)
 Mix_FadeInMusic
int Mix_FadeInMusic(Mix_Music *music, int loops, int ms) 
フェードインさせながらBGMを再生します。
music		:再生するBGMを指定します。
loops		:再生する回数を指定します。(-1:ループ)
ms		:フェードインさせるまでの時間をmsで指定します。
 Mix_FadeInMusicPos
int Mix_FadeInMusicPos(Mix_Music *music, int loops, int ms, double position) 
フェードインさせながらBGMを再生します。
music		:再生するBGMを指定します。
loops		:再生する回数を指定します。(-1:ループ)
ms		:フェードインさせるまでの時間をmsで指定します。
position		:再生位置を指定します。
 Mix_HookMusic
void Mix_HookMusic(void (*mix_func)(void *udata, Uint8 *stream, int len), void *arg)
他のMUSICプレイヤーへフックします。
mix_func		:他のプレイヤーへの関数を指定します。
arg		:関数で使用する引数を指定します。
 Mix_VolumeMusic
int Mix_VolumeMusic(int volume) 
MUSICのボリュームを設定します。
volume		:ボリュームを指定します。(0:最小〜128:最大)
 Mix_PauseMusic
void Mix_PauseMusic() 
MUSICを一時停止します。
 Mix_ResumeMusic
void Mix_ResumeMusic() 
一時停止されているMUSICの再生を再開します。
 Mix_RewindMusic
void Mix_RewindMusic() 
巻き戻してMUSICを再生します。
 Mix_SetMusicPosition
int Mix_SetMusicPosition(double position) 
MUSICを再生する位置を指定します。
position		:再生位置を指定します。
 Mix_SetMusicCMD
int Mix_SetMusicCMD(const char *command) 
MUSICを再生するために外部コマンドを指定します。
command		:システムコマンドを指定します。
 Mix_HaltMusic
int Mix_HaltMusic() 
MUSICの再生を停止します。
 Mix_FadeOutMusic
int Mix_FadeOutMusic(int ms) 
フェードアウトさせながらMUSICを停止します。
ms		:フェードアウトさせるまでの時間をmsで指定します。
 Mix_HookMusicFinished
void Mix_HookMusicFinished(void (*music_finished)()) 
MUSIC再生が終了した際に関数を呼び出します。
music_finished	:終了した際に呼ばれる関数を指定します。
 Mix_GetMusicType
Mix_MusicType Mix_GetMusicType(const Mix_Music *music) 
MUSICの種類を取得します。
music		:タイプを取得したいMUSICを指定します。
 Mix_PlayingMusic
int Mix_PlayingMusic() 
MUSICが再生中かどうか確認します。
 Mix_PausedMusic
int Mix_PausedMusic() 
MUSICが一時停止かどうか確認します。
 Mix_FadingMusic
Mix_Fading Mix_FadingMusic() 
MUSICがフェード中かどうか確認します。
 Mix_GetMusicHookData
void *Mix_GetMusicHookData() 
Mix_HookMusicでのフック場所を取得します。
 | 
 エフェクト
 
Mix_RegisterEffect		チャネルへのプロセッサのフックをします。?
Mix_UnregisterEffect	チャネルへのプロセッサのフックを解除します。?
Mix_UnregisterAllEffects	チャネルへの全てのプロセッサのフックを解除します。?
Mix_SetPostMix		postmixプロセッサへのフックをします。?
Mix_SetPanning		ステレオのパンニングを指定します。
Mix_SetDistance		ボリュームの減衰距離を指定します。
Mix_SetPosition		パンニングと距離を指定します。
Mix_SetReverseStereo	ステレオの左右を入れ替えます。
 | 
Mix_RegisterEffect
int Mix_RegisterEffect(int chan, Mix_EffectFunc_t f, Mix_EffectDone_t d, void *arg)
チャネルへのプロセッサのフックをします。?
chan		:fとdへのチャネル番号を指定します。
f		:エフェクトプロセッサへの関数を指定します。
d		:終了時の関数を指定します。
arg		:関数への引数を指定します。
Mix_UnregisterEffect
int Mix_UnregisterEffect(int channel, Mix_EffectFunc_t f) 
チャネルへのプロセッサのフックを解除します。?
channel		:チャネル番号を指定します。
f		:解除する関数を指定します。
 Mix_UnregisterAllEffects
int Mix_UnregisterAllEffects(int channel) 
チャネルへの全てのプロセッサのフックを解除します。?
channel		:チャネル番号を指定します。
 Mix_SetPostMix
void Mix_SetPostMix(void (*mix_func)(void *udata, Uint8 *stream, int len), void *arg)
postmixプロセッサへのフックをします。?
mix_func	:postmixプロセッサへの関数を指定します。
arg		:関数の引数を指定します。
 Mix_SetPanning
int Mix_SetPanning(int channel, Uint8 left, Uint8 right) 
ステレオのパンニングを指定します。
channel		:チャネル番号を指定します。
left		:レフトチャネルのボリューム(0:最小〜255最大)
right		:ライトチャネルのボリューム(0:最小〜255最大)
 Mix_SetDistance
int Mix_SetDistance(int channel, Uint8 distance) 
ボリュームの減衰距離を指定します。
channel		:チャネル番号を指定します。
distance		:距離を指定します。(0:近い〜255遠い)
 Mix_SetPosition
int Mix_SetPosition(int channel, Sint16 angle, Uint8 distance) 
パンニングと距離を指定します。
channel		:チャネル番号を指定します。
angle		:角度を指定します。(0:前、90:右、180:後、270:左)
distance		:距離を指定します。(0:近い〜255遠い)
 Mix_SetReverseStereo
int Mix_SetReverseStereo(int channel, int flip) 
ステレオの左右を入れ替えます。
channel		:チャネル番号を指定します。
flip		:有効にするには0以外を指定します。
 | 
 
 |