> ファイルが再生中かどうか調べてから再生、停止を行うものも作ってみたのですが、改善しませんでした。
再生中かどうか調べてから再生、停止を行ってもノイズが混ざるとなると、
do.wav や re.wav などの音ファイル自体に問題がある可能性があります
ただ、音ファイルに問題が無い場合は「キーを押した瞬間にのみ PlaySoundMem を実行する」ようにすれば
正常に再生できると思いますので、よろしければ載せて頂いたプログラムを「キーを押した瞬間にのみ
PlaySoundMem を実行する」ように変更させていただいた以下のプログラムでも同様にノイズが混ざって
しまうか試してみて頂けないでしょうか?
#include "DxLib.h"
#include <string.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int SHandle1;
int SHandle2;
char Buf[256];
char BufPrev[256];
if (DxLib_Init() == -1)
{
return -1;
}
SHandle1 = LoadSoundMem("do.wav");
SHandle2 = LoadSoundMem("re.wav");
memset(Buf, 0, sizeof(Buf));
while(ProcessMessage() == 0 && Buf[KEY_INPUT_ESCAPE] == 0){
memcpy(BufPrev, Buf, sizeof(Buf));
GetHitKeyStateAll(Buf);
if (Buf[KEY_INPUT_A] == 1 && BufPrev[KEY_INPUT_A] == 0) PlaySoundMem(SHandle1,DX_PLAYTYPE_LOOP);
else if (Buf[KEY_INPUT_A] == 0) StopSoundMem(SHandle1);
if (Buf[KEY_INPUT_S] == 1 && BufPrev[KEY_INPUT_S] == 0) PlaySoundMem(SHandle2,DX_PLAYTYPE_LOOP);
else if( Buf[KEY_INPUT_S] == 0) StopSoundMem(SHandle2);
}
DxLib_End();
return 0;
}