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;
            }
        }