Ich versuche, einen Audioplayer zu machen, der .wav-Dateien abspielt. Ich habe eine Funktion ReadWaveFile (CString szFilename) zum Lesen der Wave-Daten der Datei in die WAVEHDR-Struktur geschrieben. In dieser Funktion.wav Player: MMioOpen API
BOOL CWavePlay::ReadWaveFile(CString szFilename)
{
hmmio = mmioOpen((LPTSTR)&szFilename,NULL,MMIO_READ);
ASSERT(hmmio); //error here: hmmio=0x00000000
if(hmmio==0)
return FALSE;
....
}
MmioOpen immer wiederkehr 0, wenn ich eine Filepath an diese Funktion übergeben Sie die angegebene Datei zu öffnen. Und was mich verwirrt ist, wenn ich den Dateipfad explizit in mmioOpen API überlasse, funktioniert der Code; ein gültiges Handle wird zurückgegeben. kann einige Körper erklären, warum passiert das?
das Problem ist gelöst, wenn ich den Code geschrieben haben: hmmio MmioOpen = ((LPTSTR) (LPCTSTR) szFileName, NULL, MMIO_READ); – ckram