MFC播放声音控制细节问题
现有音频文件wav格式一个,该文件播放时长为1分钟20秒;情景:当条件满足时自动触发该音频自动播放,一次播放完成后若没有人工置条件使其关闭则自动启动第二次播放,依次类推直到人工关闭该次播放;
问题:现阶段该音频文件能够播放,也能够人工操作使其停止播放,但是有一个问题,我的程序运行周期为一秒,用当前逻辑是每一个周期都会切断正在播放的,重新开始播放,导致声音一直在播放第一秒内容,代码如下:
程序代码:
CString str = "";
if (SQddlFlag == TRUE) //判断当前需要播放音频
{
if() //我的设想是此时如果判断该音频文件正在播放过程中,本次播放未完时,就不在执行以下语句块
{
str.Format("%s\\wave\\DL.wav", GetRoot()); //GetRoot()为该音频文件所在文件根目录动态定位
PlaySound(str, NULL, SND_FILENAME | SND_ASYNC | SND_LOOP | SND_NOWAIT);
}
}
else
{
PlaySound(NULL, NULL, SND_FILENAME); //停止该音频播放
}







