之前在程序中添加多个定时器,参照博客:MFC中使用多个timer定时器 SetTimer函数的用法,采用多个定时器进行控制,此次采用一个定时器,来操作
首先思考的是,在捕捉到第一个播放画面时候,开始计时,开启定时器
case 2: { CString videtime; if (0 == resetvidetime) { mm = 0; ss = 0; mss = 0;//mss-毫秒,ss-秒,mm-分 //videtime.Format(_T("%02d:%02d:%02d"), mm, ss, mss);//mss-毫秒,ss-秒,mm-分 //SetDlgItemText(IDC_TimePicture, videtime); KillTimer(N_TIMER_SEC);//要在这里销毁定时器,这样当点击"结束按钮"会定在这个位置-也就是不发生计时 resetvidetime = 1; } if (mss == 100){ mss = 0; ss++; } if (ss == 60){ ss = 0; mm++; } videtime.Format(_T("%02d:%02d:%02d"), mm, ss, mss);//mss-毫秒,ss-秒,mm-分 SetDlgItemText(IDC_TimePicture, videtime); UpdateData(FALSE); mss++; } break;
然后在点击“开始”选进来视频文件后,该按钮变成“结束”按钮,需要点击这个“结束”按钮时候,计时归0,则
之后,还需要在播放结束后,计时归0
还可以在“继续/停止”按钮,实现点击停止,归0,切换为“继续”按钮,点击后,继续重新计时,但是我想是,点击继续能够继续沿着之前时间计时,不知道怎么去弄,知道的,大神可以告知一下,万分感谢