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以外を指定します。
|
|