private void PlayByName()
        {
            if (m_nNetPlayHandle >= 0)
            {
                timerNetPlayBack.Enabled = false;
                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)
            {
                string csFileName = "";

                int nSelected = listFile.SelectedItems.Count;
                if (nSelected == 0)
                {
                    MessageBox.Show("SelectFile");
                    return;
                }

                H264_DVR_FILE_DATA FileInfo = (H264_DVR_FILE_DATA)listFile.FocusedItem.Tag;
                FileInfo.hWnd = (IntPtr)pictureBoxNetVideoWnd.Handle;


                XMSDK.fDownLoadPosCallBack downloadCallBack  = new XMSDK.fDownLoadPosCallBack(DownLoadPosCallback);
                XMSDK.fRealDataCallBack_V2 netdatacallbackv2 = new XMSDK.fRealDataCallBack_V2(NetCallBack_V2);

                m_nNetPlayHandle = XMSDK.H264_DVR_PlayBackByName_V2(m_lLoginID, ref FileInfo, downloadCallBack, netdatacallbackv2, this.Handle.ToInt32());
                if (m_nNetPlayHandle <= 0)
                {
                    MessageBox.Show("Playback fail");
                    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;
            }
        }
示例#2
0
        public int ConnectRealPlay(ref DEV_INFO pDev, int nChannel, int nStream = 1)
        {
            Debug.WriteLine(DateTime.Now.ToString("HH:mm:ss - ") + TAG + ".ConnectRealPlay(" + pDev.szDevName + "," + nChannel.ToString() + ")", "DVR INFO");

            if (m_iPlayhandle != -1)
            {
                if (0 != XMSDK.H264_DVR_StopRealPlay(m_iPlayhandle, (uint)panelVideo.Handle))
                {
                    //TODO: «десь необходимо доработать
                }
                if (m_bSound)
                {
                    OnCloseSound();
                }
            }

            H264_DVR_CLIENTINFO playstru = new H264_DVR_CLIENTINFO();

            playstru.nChannel = nChannel;
            playstru.nStream  = nStream;
            playstru.nMode    = 0;
            playstru.hWnd     = panelVideo.Handle;

            m_iPlayhandle = XMSDK.H264_DVR_RealPlay(pDev.lLoginID, ref playstru);
            if (m_iPlayhandle <= 0)
            {
                Int32 dwErr = XMSDK.H264_DVR_GetLastError();
            }
            else
            {
                XMSDK.H264_DVR_MakeKeyFrame(pDev.lLoginID, nChannel, 0);
                realDataCallBack_V2 = new XMSDK.fRealDataCallBack_V2(DataCallBack_V2);
                XMSDK.H264_DVR_SetRealDataCallBack_V2(m_iPlayhandle, realDataCallBack_V2, Handle.ToInt32());
            }
            m_lLogin   = pDev.lLoginID;
            m_iChannel = nChannel;

            return(m_iPlayhandle);
        }
        private void PlayByName()
        {
            m_nFastTypeNet = 0;
            m_nSlowTypeNet = 0;
            if(m_nNetPlayHandle == 0)
            {
                string csFileName = "";

                int nSelected = listFile.SelectedItems.Count;
                if ( nSelected == 0 )
                {
                    MessageBox.Show("SelectFile");
                    return;
                }

                H264_DVR_FILE_DATA FileInfo = (H264_DVR_FILE_DATA)listFile.FocusedItem.Tag;
                FileInfo.hWnd = (uint)pictureBoxNetVideoWnd.Handle;

                XMSDK.fDownLoadPosCallBack downloadCallBack = new XMSDK.fDownLoadPosCallBack(DownLoadPosCallback);
                XMSDK.fRealDataCallBack_V2 netdatacallbackv2 = new XMSDK.fRealDataCallBack_V2(NetCallBack_V2);

                m_nNetPlayHandle = XMSDK.H264_DVR_PlayBackByName_V2(m_lLoginID, ref  FileInfo, downloadCallBack, netdatacallbackv2, this.Handle.ToInt32());
                if(m_nNetPlayHandle <= 0 )
                {
                    MessageBox.Show("Playback fail");
                    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;
            }
        }