XAudio2で遊んでいますが、mmioOpen
関数でいくつかの奇妙な問題が発生しました
何らかの理由でMMIOERR_FILENOTFOUND
、ファイルがそこにあるにもかかわらず、失敗するようです。実際、ファイルは、ロードしている他のファイルと同じディレクトリにあり、正常に動作します...
テストに使用しているwavファイルはAugustSDKサンプルのファイルであり、名前をXAudio2BasicSoundサンプルにコピーすると正常に機能します...場合によっては、サウンドの名前を1.wavからそれらを開くようにします...
//"Counting.wav" does not work
Sounds.append(Audio.Sound(L"c:/test/xaudio2/Counting.wav"))
Sounds.append(Audio.Sound(L"Electro_1.wav"))
//"heli.wav" does not work
Sounds.append(Audio.Sound(L"c:/test/xaudio2/heli.wav"))
//"HipHoppy_1.wav" does not work
//"c:/test/xaudio2/HipHoppy_1.wav" does not work
Sounds.append(Audio.Sound(L"1.wav"))
Sounds.append(Audio.Sound(L"MusicMono.wav"))
Sounds.append(Audio.Sound(L"MusicSurround.wav"))
//"Techno_1.wav" does not work
//"c:/test/xaudio2/Techno_1.wav" does not work
Sounds.append(Audio.Sound(L"2.wav"))
SDKwavefile.hのwavクラスを使用しています。エラー番号を取得するための構造体を追加しましたmmioinfo
が、機能しないキャスではMMIOERR_FILENOTFOUND
、ファイルがすべて同じディレクトリにあるにもかかわらず、63行目を少し変更してエラーコードを取得できるようにしました。mmioOpen
。文字列をメソッドAudio.Sound
に渡す以外は、文字列に対して何もしません。wav.Open
MMIOINFO info;
ZeroMemory(&info, sizeof(MMIOINFO));
m_hmmio = mmioOpen( strFileName, &info, MMIO_ALLOCBUF | MMIO_READ );
if(!h_hmmio)
std::wcout << L"Error Code: " << info.wErrorRet << L"\n";
これらの波のいくつかを開くことができない理由は本当にわかりません...