MFC线程安全问题
最近在工作中使用mfc,发现一个问题,由于使用mfc不久,总结了以下,如下:
问题:
在KdvDecoder(使用的解码库)中,提供文件解码器功能,其中提供一个进度上报回调函数:
typedef void (*pfFileStatCB)(u8 byFileState, u32 dwSec, u32 dwContext) ;
// 回调函数,dwSec == (u32)-1 代表文件播放结束
CU在实现回调时,代码如下:
void CVideoPlayerDlg::FileStatCB(u8 byFileState, u32 dwSec, u32 dwContext)
{
CVideoPlayerDlg *pVideoPlayerDlg = (CVideoPlayerDlg*)dwContext;
// 文件播放结束,发送结束消息给播放窗口
if((u32)-1 == dwSec)
{
::PostMessage(pVideoPlayerDlg->GetSafeHwnd(), IDC_BTN_STOP, 0, 0);
return ;
}
// 设置当前进度
pVideoPlayerDlg->m_staticProcess.SetScrollPos(dwSec);
// 设置播放总时间和当前播放时间
……
……计算播放总时间和当前播放时间
//在窗口显示 当前时间/总时间
pVideoPlayerDlg->m_staticStatus.SetWindowText(strProcTime);
}
在播放
MFC线程安全问题
最新推荐文章于 2023-04-03 09:26:28 发布