我正在尝试制作一个播放 .wav 文件的音频播放器。我写了一个函数 ReadWaveFile(CString szFilename) 用于将文件的波形数据读取到 WAVEHDR 结构中。在这个函数中
BOOL CWavePlay::ReadWaveFile(CString szFilename)
{
hmmio = mmioOpen((LPTSTR)&szFilename,NULL,MMIO_READ);
ASSERT(hmmio); //error here: hmmio=0x00000000
if(hmmio==0)
return FALSE;
....
}
每当我将文件路径传递给此函数以打开指定文件时,mmioOpen 总是返回 0。让我感到困惑的是,当我在 mmioOpen API 中明确传递文件路径时,代码可以工作;即,返回一个有效的句柄。有人可以解释为什么会这样吗?