mmioOpen发现Strange File Not Found错误

时间:2008-12-13 19:07:24

标签: c++ windows xaudio2

我一直在玩XAudio2,但遇到了mmioOpen函数的一些奇怪问题

由于某些原因它似乎失败了MMIOERR_FILENOTFOUND,即使文件在那里,实际上该文件与我正在加载的其他文件在同一目录中工作正常......

用于测试的wav文件只是8月SDK示例中的那些,如果我将名称复制到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结构来获取错误编号,并且在没有工作的casses中它给了我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"; 不会对字符串执行任何操作。

{{1}}

我真的觉得没有理由不打开这些波浪......

1 个答案:

答案 0 :(得分:0)

更改

m_hmmio = mmioOpen( strFileName, &info, MMIO_ALLOCBUF | MMIO_READ )

m_hmmio = mmioOpen( strFileName, NULL, MMIO_ALLOCBUF | MMIO_READ )