music.h
1    //BGM・SE関連のヘッダーファイル
2    #pragma once
3    
4    #include  "DxLib.h"
5    
6    //エラー
7    constexpr const char* MUSIC_LOAD_ERR_CAP = "が読み込めません";
8    constexpr const char* MUSIC_LOAD_ERR_TITLE = "音楽の読み込みエラー";
9    
10   //インライン関数
11   inline int GetVolume(int volume){return 255*volume/100;}	//ボリュームをMIN:0-MAX:255に変換
12   
13   //文字列の長さ
14   constexpr int MUSIC_PATH_STR_MAX = 256;	//音楽のパスの長さ
15   constexpr int MUSIC_ERR_STR_MAX = 512;	//エラーメッセージの長さ
16   
17   //デフォルトの音量
18   constexpr int MUSIC_VOLUME_BGM = 40;	//BGMの音量
19   constexpr int MUSIC_VOLUME_SE = 70;	//SEの音量
20   
21   //音楽ファイルパス
22   //BGM
23   constexpr const char* MUSIC_PATH_TITLE_BGM  = "./music/BGM/BGM01.mp3";	//タイトルBGMのパス
24   constexpr const char* MUSIC_PATH_PLAY_BGM   = "./music/BGM/BGM02.mp3";	//プレイBGMのパス
25   constexpr const char* MUSIC_PATH_RESULT_BGM = "./music/BGM/BGM03.mp3";	//リザルトBGMのパス
26   //SE
27   constexpr const char* MUSIC_PATH_BUTTON_SE = "./music/SE/SE03.mp3";	//ボタンSEのパス
28   constexpr const char* MUSIC_PATH_Hit_SE_01 = "./music/SE/SE01.mp3";	//ヒット時のSEのパス
29   constexpr const char* MUSIC_PATH_Hit_SE_02 = "./music/SE/SE02.mp3";	//ヒット時のSEのパス
30   
31   //構造体
32   typedef struct ST_MUSIC
33   {
34       int Handle= -1;	                        //音楽のハンドル
35       int Volume= -1;	                        //音楽の音量
36       char Path[MUSIC_PATH_STR_MAX];  	//音楽のパス
37       bool IsPlayStart = true;	        //停止後は最初から再生するか
38       int PlayType = DX_PLAYTYPE_BACK;	//再生タイプ
39   
40       int FadeInMillTime = 0;	            //フェードイン時間
41       int FadeOutMillTime = 0;	        //フェードアウト時間
42       int FadeInMillTimeMax = 0;	        //フェードイン時間の最大値
43       int FadeOutMillTimeMax = 0;	        //フェードアウト時間の最大値
44       bool FadeInStartFlg = false;	    //フェードイン開始フラグ
45       bool FadeOutStartFlg = false;	    //フェードアウト開始フラグ
46       
47   } Music;
48   
49   //外部グローバル変数
50   //BGM
51   extern Music titleBGM;	//タイトルBGM
52   extern Music playBGM;	//プレイBGM
53   extern Music resultBGM;	//リザルトBGM
54   //SE
55   extern Music buttonSE;	//ボタンSE
56   extern Music hitSE_01;	//ヒット時のSE
57   extern Music hitSE_02;	//ヒット時のSE
58   
59   //外部プロトタイプ宣言
60   extern bool MusicInit();	//音楽の初期化(読み込み・ハンドル生成)
61   extern void MusicEnd();	    //音楽の終了
62   extern void MusicLoadErrMessage( const char* path);	//音楽の読み込みエラーメッセージ
63   
64   extern Music MusicLoad(const char* path, int volume, int playType);	//音楽の読み込み
65   extern void MusicPlay(Music music);	//音楽の再生
66   extern void MusicPause(Music* music);	//音楽の一時停止
67   extern void MusicStop(Music* music);	//音楽の停止
68   extern void MusicDelete(Music music);	//音楽の削除
69   
70   extern void ChangeMusicVolume(Music* music, int volume);	//音楽の音量変更
71   
72   extern bool FadeInPlayMusic(Music* music, int fadeInMillTime);	//フェードイン再生(1000=1秒)
73   extern bool FadeOutPlayMusic(Music* music, int fadeOutMillTime);	//フェードアウト開始(1000=1秒)
74