LRESULT CMainDlg::OnBnClickedButtonRecordOn(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) { m_isRecordOn = !m_isRecordOn; if (m_isRecordOn) { GetDlgItem(IDC_BUTTON_RECORD_ON).SetWindowText("On"); SetTimer(2,1000); SYSTEMTIME st; GetLocalTime(&st); CheckRecordPlan(st.wDayOfWeek,st.wHour); } else { GetDlgItem(IDC_BUTTON_RECORD_ON).SetWindowText("Off"); KillTimer(2); for (int i =0 ;i<BLM_CHANNEL_MAX;i++) { if (m_isVideoCapture[i] == TRUE) { StopCaptureVideo(i,0); } } for (int i =0 ;i<BLM_CHANNEL_MAX;i++) { if (m_isVideoCapture[i+BLM_CHANNEL_MAX] == TRUE) { StopCaptureVideo(i,1); } } } return 0; }
void CMainDlg::CheckRecordPlan( int dayofWeek,int hour ) { for (int i=0;i<BLM_CHANNEL_MAX;i++) { if (m_channelHandle[i]!=INVALID_HANDLE_VALUE) { if (m_settingDlg->m_recodePlan[i][dayofWeek][hour]==TRUE&&m_isVideoCapture[i]==FALSE) { StartCaptureVideo(i,m_settingDlg->m_encodeSetting[i].sub); } if (m_settingDlg->m_recodePlan[i][dayofWeek][hour]==FALSE&&m_isVideoCapture[i]==TRUE) { StopCaptureVideo(i,m_settingDlg->m_encodeSetting[i].sub); } } } }
BOOL CReportCameraWorker::StopCapture() { TRACE(_T("CReportCameraWorker::StopCapture\n")); BOOL bRet = FALSE; switch(m_ReportCameraConfig.m_Action) { case REPORT_CAMERA_RECORD_VIDEO: bRet = StopCaptureVideo(); LogCaptureFile(); break; case REPORT_CAMERA_SHOOT_PHOTO: bRet = StopCapturePhoto(); break; case REPORT_CAMERA_NONE: bRet = TRUE; break; } return bRet; }