前提・実現したいこと
Dxlibraryで、ゲームを作っているのですが、
そのゲームのBGMとして曲をかけたいのですが、かかりません。
PlaySoundFile()では、動いてくれますが、PlaySoundMemで再生したいです。
発生している問題・エラーメッセージ
実行したときにエラーは出ませんが、音楽が流れません。
該当のソースコード
C
1#include "DxLib.h" 2#include <string.h> 3#include <Windows.h> 4 5void DrawPos(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow); 6void DrawPic(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow, int x, int y, char*, bool); 7void DrawPic_k(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow, int x1, int y1, int x2, int y2, char*, bool); 8void DrawDialog(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow, int x, int y, const char*, char*, int Cr); 9 10//#define POS 1 11 12int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) 13{ 14 char BackGround[] = { "F:\Background\tanpopo.jpg" }; 15 char NamePlate[] = { "F:\Background\name.png" }; 16 char Name2[] = { "F:\Background\name2.png" }; 17 char Mother[] = { "F:\Background\母.png" }; 18 char yorunikakeru[] = { "E:\MUSIC\YOASOBI\THE BOOK\08 夜に駆ける.mp3" }; 19 char gunjou[] = { "E:\MUSIC\YOASOBI\THE BOOK\06 群青.mp3" }; 20 char kaikaikitan[] = { "kaikai.mp3" }; 21 int Black = GetColor(255, 255, 255); 22 23 //メモリへ読み込みサウンドハンドルを保存する。 24 int SHandle_yorunikakeru = LoadSoundMem(yorunikakeru); 25 int SHandle_gunjou = LoadSoundMem(gunjou); 26 int SHandle_kaikaikitan; 27 SHandle_kaikaikitan= LoadSoundMem("kaikai.mp3"); 28 29 SetGraphMode(1920, 1080, 32);//ディスプレイのモードを1920×1080にする。 30 SetTransColor(0, 0, 0);//白を透明にする。 31 32 if (DxLib_Init() == -1) 33 { 34 return -1; 35 } 36 37 SetMouseDispFlag(TRUE);//マウスのポインタを表示する。 38 DrawPic(hInstance, hPrevInstance, lpCmdLine, nCmdShow, 0, 0, BackGround, FALSE);//写真を表示。(x,y,BackGround,TRUE or FALSE) 39 DrawPic_k(hInstance, hPrevInstance, lpCmdLine, nCmdShow, 1300, 400, 1652, 800, Mother, TRUE);//352*400 40 DrawPic_k(hInstance, hPrevInstance, lpCmdLine, nCmdShow, 0, 700, 1920, 1080, NamePlate, TRUE);//写真を表示(拡大縮小可能) 41 42 //PlaySoundFile(kaikaikitan, DX_PLAYTYPE_BACK);//曲をかける。StopSoundFile();で止める。 43 PlaySoundMem(SHandle_kaikaikitan, DX_PLAYTYPE_BACK); 44 45 SetFontSize(32); 46 DrawString(30, 730, "主人公", Black); 47 SetFontSize(16);//デフォルトに戻す。 48 49 DrawDialog(hInstance, hPrevInstance, lpCmdLine, nCmdShow, 30, 800, "主人公のセリフの表示", Name2, Black); 50 51#ifdef POS 52 while (CheckHitKey(KEY_INPUT_RETURN) == 0)//エンターキーが押されるまで 53 { 54 DrawPos(hInstance, hPrevInstance, lpCmdLine, nCmdShow); 55 } 56#endif 57 58 ClearDrawScreen(); 59 StopSoundFile(); 60 61 WaitKey(); 62 63 //サウンドハンドルの削除 64 DeleteSoundMem(SHandle_yorunikakeru); 65 DeleteSoundMem(SHandle_gunjou); 66 DeleteSoundMem(SHandle_kaikaikitan); 67 68 DxLib_End(); 69 70 return 0; 71}
試したこと
PlaySoundFile()では動きました。
サウンドハンドルを使うとできなくなります。
補足情報(FW/ツールのバージョンなど)
開発環境は、visual studio 2019 です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/02 01:11