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

音声を止める

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

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

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

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

01#include "DxLib.h"
02 
03// プログラムは WinMain から始まります
04int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
05{
06    ChangeWindowMode(TRUE);
07 
08    if( DxLib_Init() == -1 )        // DXライブラリ初期化処理
09    {
10        return -1 ;         // エラーが起きたら直ちに終了
11    }
12     
13    char key[256];
14 
15    //サウンドハンドル取得。
16    int sh;
17    sh=LoadSoundMem("bom.wav");
18 
19     
20    //描画先を裏画面に設定
21    SetDrawScreen(DX_SCREEN_BACK);
22 
23    while(ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll(key)==0){
24 
25 
26        if(key[KEY_INPUT_RETURN]==1){
27            PlaySoundMem(sh,DX_PLAYTYPE_BACK,TRUE);
28        }
29        if(key[KEY_INPUT_SPACE]==1){
30                StopSoundMem(sh);
31        }
32    }
33 
34    DxLib_End() ;               // DXライブラリ使用の終了処理
35 
36    return 0 ;              // ソフトの終了
37}

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

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

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