我正在尝试使用 mci 函数编写一个 mp3 播放器。(win 7 64bit,vs2010,c++)
当我尝试播放带有“等待”标志的 mp3 文件时,我可以听到该文件,但其他所有内容都卡住了,直到文件结束播放,如果我删除“等待”标志,我可以继续工作,但听不到任何声音。
这是代码示例:
unsigned long __stdcall PlayThread(void *myParam)
{
char* nameOfMp3 = (char*)myParam;
char* cmd = new char[MAX_PATH];
sprintf(cmd,"open \"%s\" type MPEGvideo alias myFile",nameOfMp3);
mciSendString(cmd,NULL,0,0);
mciSendString("play myFile wait",NULL,0,0);//here is the "wait" flag
mciSendString("close myFile",NULL,0,0);
return 0;
}
我删除了对 mci 推荐返回值的检查,但我已经检查了它们,它们在两种情况下都很好。
难道我做错了什么?