ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

オーディオの初期化

オーディオデバイスの初期化にはMix_OpenAudio()を使う。ヘッダでの定義は次の通り。

/* Open the mixer with a certain audio format */
extern DECLSPEC int SDLCALL Mix_OpenAudio(int frequency, Uint16 format, int channels, int chunksize);

frequencyはサンプリング周波数。formatは8bitとか16bitとかの波形フォーマット。channnelsはチャンネル数。1がモノラルで2がステレオ。chunksizeはバッファサイズ。
ヘッダには各パラメータのデフォルトの値が定義されていて次の通り。

#define MIX_DEFAULT_FREQUENCY	22050
#if SDL_BYTEORDER == SDL_LIL_ENDIAN
#define MIX_DEFAULT_FORMAT	AUDIO_S16LSB
#else
#define MIX_DEFAULT_FORMAT	AUDIO_S16MSB
#endif
#define MIX_DEFAULT_CHANNELS	2

22050Hzで16bit符号ありのステレオ。
サンプルでは次の通り。

Mix_OpenAudio(11025, AUDIO_U8, 1, 512);

サンプリング周波数が11025Hzで8bit符号なし。モノラルでバッファサイズは512。


オーディオデバイスの終了は Mix_CloseAudio()を使う。

Mix_CloseAudio();