>> ゲームプログラミング入門トップに戻る

単純に音声を鳴らす

今回は単純に音を鳴らす方法を説明します。
関数には、PlaySoundFile関数を使います。
第一引数にはファイル名、第二引数には再生形式の定数を指定します。
定数は以下の三つがあります。

DX_PLAYTYPE_NORMAL  : ノーマル再生
DX_PLAYTYPE_BACK  : バックグラウンド再生
DX_PLAYTYPE_LOOP  : ループ再生

ノーマル再生というのは、その音声の再生が終わるまで制御を返さない再生方式です。
バックグラウンド再生は、音声の再生を開始したら、すぐに制御を返します。
ループ再生というのは、再生を開始したらすぐに制御を返し、かつ、再生が終わるとまた最初から再生を始めます。

また、再生できるファイルの種類は、WAV, MP3, Oggの3種類です。

以下にコードのサンプルを示します。

#include "DxLib.h"

// プログラムは WinMain から始まります
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
{
	ChangeWindowMode(TRUE);

	if( DxLib_Init() == -1 )		// DXライブラリ初期化処理
	{
		return -1 ;			// エラーが起きたら直ちに終了
	}
	
	char key[256];

	
	//描画先を裏画面に設定
	SetDrawScreen(DX_SCREEN_BACK);

	while(ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll(key)==0){


		if(key[KEY_INPUT_RETURN]==1){
			PlaySoundFile("bom.wav",DX_PLAYTYPE_BACK);
		}
		
	}

	DxLib_End() ;				// DXライブラリ使用の終了処理

	return 0 ;				// ソフトの終了 
}

bom.wavというwaveファイルをプロジェクトファイルがあるフォルダと同じ場所において実行すると、
エンターキーを押したときだけその音声がバックグラウンド再生されます。

この方法は、毎回ファイルから読み込んで実行しているので、
非常に遅いです。

次回はファイルをメモリに読み込んでから再生する方法を説明します。

>> 【メモリに読み込んで音声を再生する】に進む
>> ゲームプログラミング入門トップに戻る