多线程播放视频的问题
部分代码如下:
static BOOL bVideoPlay = FALSE;
HANDLE hMutex = CreateMutex(NULL,FALSE,NULL);
UINT MyVideoThread(LPVOID pParam)
{
WaitForSingleObject(hMutex,INFINITE);
CFuDlg *dlg = (CFubuDlg*)pParam;
CString strTmp=dlg->m_strFileName;
dlg->m_Video.Open(strTmp,dlg,312,165);
dlg->m_Video.Play(0);
while(bVideoPlay)
Sleep(1);
dlg->m_Video.Stop();
dlg->m_Video.Close();
ReleaseMutex(hMutex);
return 0;
}
void CFuDlg::HandlePage()
{
bVideoPlay = FALSE;
WaitForSingleObject(hMutex,INFINITE);
pVideoThread = AfxBeginThread(MyVideoThread, this);
bVideoPlay = TRUE;
ReleaseMutex(hMutex);
}
void CFuDlg::m_PlayVideo(CString filename)
{
m_strFileName = filename;
HandlePage();
}
问题:第一个视频播放正常,第二个播放的时候出现死机,请大家支持,谢谢!