private void PlayByTime() { if (m_nNetPlayHandle >= 0) { XMSDK.H264_DVR_StopPlayBack(m_nNetPlayHandle); m_nNetPlayHandle = 0; } trackBarNetPlayPos.Value = 0; m_bOpenAudio = false; m_bPauseNetPlay = false; m_nFastTypeNet = 0; m_nSlowTypeNet = 0; if (m_nNetPlayHandle == 0) { H264_DVR_FINDINFO info = new H264_DVR_FINDINFO(); info.nChannelN0 = comboChannel.SelectedIndex; //channel No. info.nFileType = comboRecordType.SelectedIndex; //file type info.startTime.dwYear = beginDate.Value.Year; info.startTime.dwMonth = beginDate.Value.Month; info.startTime.dwDay = beginDate.Value.Day; info.startTime.dwHour = beginTime.Value.Hour; info.startTime.dwMinute = beginTime.Value.Minute; info.startTime.dwSecond = beginTime.Value.Second; info.endTime.dwYear = endDate.Value.Year; info.endTime.dwMonth = endDate.Value.Month; info.endTime.dwDay = endDate.Value.Day; info.endTime.dwHour = endTime.Value.Hour; info.endTime.dwMinute = endTime.Value.Minute; info.endTime.dwSecond = endTime.Value.Second; info.hWnd = (uint)pictureBoxNetVideoWnd.Handle; XMSDK.fDownLoadPosCallBack DownloadCallback = new XMSDK.fDownLoadPosCallBack(DownLoadPosCallback); XMSDK.fRealDataCallBack realDataCallBack = new XMSDK.fRealDataCallBack(RealDataCallBack); m_nNetPlayHandle = XMSDK.H264_DVR_PlayBackByTimeEx(m_lLoginID, ref info, null, this.Handle.ToInt32(), null, this.Handle.ToInt32()); if (m_nNetPlayHandle <= 0) { MessageBox.Show("Playback fail"); m_nNetPlayHandle = 0; return; } timerNetPlayBack.Start(); } else { if (m_bPauseNetPlay) { XMSDK.H264_DVR_PlayBackControl(m_nNetPlayHandle, (int)PlayBackAction.SDK_PLAY_BACK_CONTINUE, 0); m_bPauseNetPlay = !m_bPauseNetPlay; } XMSDK.H264_DVR_PlayBackControl(m_nNetPlayHandle, (int)PlayBackAction.SDK_PLAY_BACK_FAST, 0); m_nFastTypeNet = 0; m_nSlowTypeNet = 0; } }