Exemple #1
0
 //视频控制
 public int SDK_RealPlay(int lChannel, int lLinkMode, IntPtr hPlayWnd)
 {
     lpClientInfo                = new NET_DVR_CLIENTINFO();
     lpClientInfo.lChannel       = lChannel;
     lpClientInfo.lLinkMode      = lLinkMode;
     lpClientInfo.hPlayWnd       = hPlayWnd;
     _real_handles[lChannel - 1] = HCNetSDK.NET_DVR_RealPlay_V30(_user_id, ref lpClientInfo, null, 1, false);
     return(_real_handles[lChannel - 1]);
 }
Exemple #2
0
 // 播放视频
 public bool RealPlay(int channel, IntPtr hPlayWnd)
 {
     lpClientInfo               = new NET_DVR_CLIENTINFO();
     lpClientInfo.lChannel      = channel;
     lpClientInfo.lLinkMode     = 0;
     lpClientInfo.hPlayWnd      = hPlayWnd;
     _real_handles[channel - 1] = HCNetSDK.NET_DVR_RealPlay_V30(_user_id, ref lpClientInfo, null, 1, false);
     HCNetSDK.NET_DVR_SetAudioMode(1);
     if (_real_handles[channel - 1] < 0)
     {
         return(false);
     }
     return(true);
 }
        // Start work
        public void Start(ref CameraInfo cameraInfo)
        {
            if ((!_deviceInfo.IsReady) || _deviceInfo.ServiceID < 0)
            {
                return;
            }

            NET_DVR_CLIENTINFO struClientInfo;  //定义预览参数结构体

            struClientInfo.lChannel  = cameraInfo.ChannelNo;
            struClientInfo.lLinkMode = 0;
            struClientInfo.hPlayWnd  = cameraInfo.Handle;
            int m_iSubWndIndex = 0;  //用户数据

            struClientInfo.sMultiCastIP = "0.0.0.0";
            // 实时预览 不回调
            // m_lPlayHandle = HCNetSDK.NET_DVR_RealPlay_V30(_deviceInfo.ServiceID, ref struClientInfo, null, m_iSubWndIndex, true);
            //实时预览 回调
            _cameraInfo = cameraInfo;
            //m_lPlayHandle = HCNetSDK.NET_DVR_RealPlay_V30(_deviceInfo.ServiceID, ref struClientInfo, new RealDataCallBack_V30(g_RealDataCallBack_V30), m_iSubWndIndex, true);
            m_lPlayHandle = HCNetSDK.NET_DVR_RealPlay_V30(_deviceInfo.ServiceID, ref struClientInfo, null, m_iSubWndIndex, true);

            cameraInfo.PlayHandle = m_lPlayHandle;
            if (m_lPlayHandle > -1)
            {
                isValidVideo = true;
            }
            _cameraInfo = cameraInfo;
            if (thread == null)
            {
                framesReceived = 0;
                bytesReceived  = 0;
                stopEvent      = new ManualResetEvent(false);
                thread         = new Thread(new ThreadStart(WorkerThread));
                thread.Name    = source;
                thread.Start();
            }
        }