Example #1
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);
        }
Example #2
0
 public static extern int H264_DVR_RealPlay(int lLoginID, ref H264_DVR_CLIENTINFO lpClientInfo);