おそらくDXライブラリの不具合だと思うのですが、
DX_SOUNDDATATYPE_FILE を指定して LoadSoundMem で作成したハンドルを
DX_PLAYTYPE_NORMAL を指定して PlaySoundMem を行うと、
冒頭から数秒間のループ状態となり PlaySoundMem から制御が帰ってこないようです。
事象は3.03b以前では起こらないようでした。
//-- 以下、テストコード "test.wav"を使用--//
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
ChangeWindowMode( TRUE );
if ( DxLib_Init( ) == -1 ) return -1;
// SetCreateSoundDataType( DX_SOUNDDATATYPE_MEMNOPRESS ); // <- 問題なし
// SetCreateSoundDataType( DX_SOUNDDATATYPE_MEMPRESS ); // <- 問題なし
SetCreateSoundDataType( DX_SOUNDDATATYPE_FILE );
int sh = LoadSoundMem( "test.wav", 3 );
// PlaySoundMem( sh, DX_PLAYTYPE_LOOP ); // <- 問題なし
// PlaySoundMem( sh, DX_PLAYTYPE_BACK ); // <- 問題なし
PlaySoundMem( sh, DX_PLAYTYPE_NORMAL );
WaitKey( );
DxLib_End( );
return 0;
}