TMKL さんのやり方で、エラー判別は、あってますよー^^
ですが、GrapeColor さん、OPEN したファイルを一旦閉じて、新しいのをオープンさせるか
エイリアスを変更しましょう。
以下はサンプルです。ぐちゃぐちゃなソースですが、WinAPI にて、エラーの原因の説明をわかるようにしてありますので
どんな原因なのか判別できないときに使ってみてくださいね。
#module MCI_SYSTEM
#uselib "Winmm.dll"
#func mciSendString "mciSendStringA" sptr,var,int,int
#func mciGetErrorString "mciGetErrorStringA" int,var,int
#deffunc mcireset
alloc Media_Buffer,32768
alloc Media_ErrStr,32768
Media_Buffer=""
mcirflag=1
// oncmd gosub *MCI_CALLBACK,0x03B9
dim mciload_buff,65535
return
#deffunc mci2 str p1
if mcirflag=0 : mcireset
mcierr=0
mciSendString p1,Media_Buffer,32765,hwnd
stat_str=""+p1+" = "+Media_Buffer+" = stat "+stat+" / "
if stat=0 : return_mode=0 : ims="コマンド成功" : else : return_mode=-1 : ims="コマンド失敗" : mcierr=1
mes ""+stat_str+ims
if mcierr=1 : mciGetErrorString stat,Media_ErrStr,32768 : mes "エラー : "+Media_ErrStr
return return_mode
#deffunc mciallclose onexit
mciSendString "close all wait",Media_Buffer,32765,hwnd
mes "close all ending. = "+Media_Buffer+" = stat "+stat
return
#global
font "MSゴシック",12
mci2 "open err.wav alias easyaudio" ;←自身でファイルパスを指定してね。
mci2 "play easyaudio"
mci2 "open err.wav alias easyaudio" ;↑で指定したファイルと同じにしてみてね