如何实现MciWnd连续播放多个音频
目的:拆分成多个音频文件的一个音频尽可能无缝播放出来(不要通过合并音频文件的方式)
我把多个音频放在一个list里面
然后开线程播放
线程里面,播放后用信号量阻塞线程:
while(没播放完)
{
MCIWndOpen(pCtrl->m_hwndMCI,filename.GetBuffer(sizeof(filename)),0);
MCIWndPlay(pCtrl->m_hwndMCI);
WaitForSingleObject(pCtrl->m_eventForPlayer,-1);
}
等到播放完成后,MCIWND触发结束事件,在此设置信号量
void OnMCINotify(WPARAM wParam,LPARAM lParam)
{
if(lParam==MCI_MODE_STOP)
{
m_eventForPlayer.SetEvent();
}
}
、、、、、、、、、、、、、、、、、、、、、
现在的问题是:
在播放一个音频文件后,到触发结束事件之间,有将近一秒的延迟,所以导致两个音频衔接的很不好。
求教有什么办法可以解决。