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

音声を止める

今回は音声を止める方法を説明します。

関数には、StopSoundFileかStopSoundMem関数を使います。
PlaySoundFileで音声を鳴らしている場合は、StopSoundFile関数を使います。
引数はありません。実行するだけで止まります。

メモリに読み込んだ音声を再生中の場合は、StopSoundMem関数を使います。
こちらはサウンドハンドルを指定するだけです。

以下はStopSoundMemを使った場合のサンプルコードです。

#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];

	//サウンドハンドル取得。
	int sh;
	sh=LoadSoundMem("bom.wav");

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

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


		if(key[KEY_INPUT_RETURN]==1){
			PlaySoundMem(sh,DX_PLAYTYPE_BACK,TRUE);
		}
		if(key[KEY_INPUT_SPACE]==1){
				StopSoundMem(sh);
		}
	}

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

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

このコードを実行して、エンターキーを押すと再生。
スペースキーを押すとその音声が止まります。

今回はここまで。
次回は音声が再生中かどうかを調べる方法を説明します。

>> 【音声が再生中かどうかを調べる】に進む
>> ゲームプログラミング入門トップに戻る