Beispiel #1
0
        private void play(int canal)
        {
            bool canStop = DHClient.DHStopRealPlay(pRealPlayHandle[this.channel]);

            picPlayMain.Refresh();
            // pRealPlayHandle[canal] = DHClient.DHRealPlay(pLoginID, canal, picPlayMain.Handle);
            //Seteo de calidad (mainstream)
            REALPLAY_TYPE emStreamType = REALPLAY_TYPE.DH_RType_RealPlay;


            if (comboBoxCalidad.SelectedIndex == 0)
            {
                emStreamType = REALPLAY_TYPE.DH_RType_RealPlay_0;
            }
            else
            {
                emStreamType = REALPLAY_TYPE.DH_RType_RealPlay_1;
            }


            pRealPlayHandle[canal] = DHClient.DHRealPlayEx(pLoginID, canal, emStreamType, picPlayMain.Handle);


            this.channel = canal;

            getAjustesVideo();
        }
Beispiel #2
0
        private void play(int canal)
        {
            bool canStop = DHClient.DHStopRealPlay(pRealPlayHandle[this.channel]);

            picPlayMain.Refresh();
            pRealPlayHandle[canal] = DHClient.DHRealPlay(pLoginID, canal, picPlayMain.Handle);
            this.channel           = canal;
        }
 private void StopRealPlay(CarPlateDevice device)
 {
     if (device != null && device.m_nLoginID != 0 && device.m_realPlayH != 0)
     {
         //停止监视
         DHClient.DHStopRealPlay(device.m_realPlayH);
         device.m_realPlayH       = 0;
         this.pictureBoxImg.Image = null;
     }
 }
Beispiel #4
0
        private void stop()
        {
            this.startButtons(true);
            for (int i = 0; i < pRealPlayHandle.Length; i++)
            {
                if (pRealPlayHandle[i] != 0)
                {
                    bool pudo = DHClient.DHStopRealPlay(pRealPlayHandle[i]);

                    /*int xxx = 0;
                     * if (!pudo && xxx < 5)
                     * {
                     *  pudo = DHClient.DHStopRealPlayEx(pRealPlayHandle[i]);
                     *  xxx++;
                     * }*/
                }


                pRealPlayHandle[i] = 0;
            }
            Thread.Sleep(800);
            for (int i = 0; i < cantidadVentanas; i++)
            {
                if (i < pantallas.Count)
                {
                    pantallas[i].Refresh();
                }
            }
            //groupBoxVentanas16.Visible = false;
            //groupBoxVentanas16.Visible = true;

            /*for (int i = 0; i < cantidadVentanas; i++)
             * {
             *  if (i < pantallas.Count) pantallas[i].Refresh();
             *
             * }
             * for (int i = 0; i < cantidadVentanas; i++)
             * {
             *  if (i < pantallas.Count) pantallas[i].Refresh();
             *
             * }
             * for (int i = 0; i < cantidadVentanas; i++)
             * {
             *  if (i < pantallas.Count) pantallas[i].Refresh();
             *
             * }*/

            DHClient.DHLogout(pLoginID);

            //DHClient.DHCleanup();
            //DHClient.DHStopService(pLoginID);
            pLoginID = 0;
        }
Beispiel #5
0
 public override void Pause()
 {
     lock (_StatusLock)
     {
         if (VideoSource == null)
         {
             return;
         }
         if (m_realPlayH != 0)
         {
             DHClient.DHStopRealPlay(m_realPlayH);
             m_realPlayH = 0;
         }
         this._Status = VideoStatus.Paused;
     }
 }
Beispiel #6
0
 public override void Close()
 {
     lock (_StatusLock)
     {
         if (VideoSource != null)
         {
             ////停止消息订阅句柄
             //if (m_nRealLoadPic != 0)
             //{
             //    DHClient.DHStopLoadPic(m_nRealLoadPic);
             //    m_nRealLoadPic = 0;
             //}
             //停止监视
             if (m_realPlayH != 0)
             {
                 DHClient.DHStopRealPlay(m_realPlayH);
                 m_realPlayH = 0;
             }
             if (m_nLoginID != 0)
             {
                 DHClient.DHLogout(m_nLoginID);
                 m_nLoginID = 0;
             }
             if (initialized)
             {
                 DaHuaSDKManager.GetInstance().DisConnectEventHandle -= disConnect;
                 DaHuaSDKManager.GetInstance().OnlineMsgEventHandle  -= onlineMsg;
                 initialized = false;
             }
         }
         this._Status = VideoStatus.Disconnected;
     }
     if (!this.TitlePanel.InvokeRequired)
     {
         this.TitlePanel.Visible = false;
         this.video.BackColor    = Color.Navy;
         this.video.Image        = null;
     }
 }
        private void RealPlay(bool a, int b)
        {
            if (a)
            {
                switch (b)
                {
                case 0:    //通道0的实时监视
                    pRealPlayHandle      = DHClient.DHRealPlay(pLoginID, 0, picRealPlay1.Handle);
                    picRealPlay1.Visible = true;
                    break;

                case 1:    //通道1的实时监视
                    pRealPlayHandle      = DHClient.DHRealPlay(pLoginID, 1, picRealPlay2.Handle);
                    picRealPlay2.Visible = true;
                    break;

                case 2:    //通道2的实时监视
                    pRealPlayHandle      = DHClient.DHRealPlay(pLoginID, 2, picRealPlay3.Handle);
                    picRealPlay3.Visible = true;
                    break;

                case 3:    //通道3的实时监视
                    pRealPlayHandle      = DHClient.DHRealPlay(pLoginID, 3, picRealPlay4.Handle);
                    picRealPlay4.Visible = true;
                    break;

                case 4:    //通道4的实时监视
                    pRealPlayHandle      = DHClient.DHRealPlay(pLoginID, 4, picRealPlay5.Handle);
                    picRealPlay5.Visible = true;
                    break;
                }
            }
            else
            {
                DHClient.DHStopRealPlay(pRealPlayHandle);
                picRealPlay1.Refresh();
            }
        }
Beispiel #8
0
 /// <summary>
 /// 设备断开连接处理
 /// </summary>
 /// <param name="lLoginID"></param>
 /// <param name="pchDVRIP"></param>
 /// <param name="nDVRPort"></param>
 /// <param name="dwUser"></param>
 private void DisConnectEvent(int lLoginID, StringBuilder pchDVRIP, int nDVRPort, IntPtr dwUser)
 {
     try
     {
         for (int i = 0; i < deviceInfo.byChanNum; i++)
         {
             DHClient.DHStopRealPlay(pRealPlayHandle[i]);
         }
         DHClient.DHLogout(pLoginID);
         //pLoginID
         pLoginID = 0;
         while (pLoginID == 0)
         {
             Thread.Sleep(1000);
             RealPlay();
         }
         //MessageBox.Show("设备用户断开连接", pMsgTitle);
     }
     catch (Exception ex)
     {
         Program.WriteLog("视频设备断开连接处理异常" + ex.ToString());
     }
 }
 /// <summary>
 /// 设备2停止实时监视处理
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnStopReal2_Click(object sender, EventArgs e)
 {
     //停止监控:注意realPlayHandle2
     DHClient.DHStopRealPlay(realPlayHandle2);
     picRealPlay2.Refresh();
 }
Beispiel #10
0
        /// <summary>
        /// 实时播放按钮按下
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRealPlay_Click(object sender, EventArgs e)
        {
            string strStart = StringUtil.ConvertString("实时监视开始");
            string strStop  = StringUtil.ConvertString("实时监视结束");

            if (btnRealPlay.Text.Equals(strStart))
            {
                btnRealPlay.Text = strStop;
                pRealPlayHandle  = new int[deviceInfo.byChanNum];
                cmbChannelSelect.Items.Clear();
                for (int i = 0; i < deviceInfo.byChanNum; i++)
                {
                    cmbChannelSelect.Items.Add(i.ToString());
                }
                cmbChannelSelect.SelectedIndex = 0;

                for (int i = 0; i < deviceInfo.byChanNum; i++)
                {
                    switch (i)
                    {
                    case 0:    //通道0的实时监视
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay0.Handle);
                        break;

                    case 1:    //通道1的实时监视
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay1.Handle);
                        break;

                    case 2:    //通道2的实时监视
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay2.Handle);
                        break;

                    case 3:    //通道3的实时监视
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay3.Handle);
                        break;

                    case 4:    //通道4的实时监视
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay4.Handle);
                        break;

                    case 5:    //通道5的实时监视
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay5.Handle);
                        break;

                    case 6:    //通道6的实时监视
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay6.Handle);
                        break;

                    case 7:
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay7.Handle);
                        break;

                    case 8:
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay8.Handle);
                        break;

                    case 9:
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay9.Handle);
                        break;

                    case 10:
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay10.Handle);
                        break;

                    case 11:
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay11.Handle);
                        break;

                    case 12:
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay12.Handle);
                        break;

                    case 13:
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay13.Handle);
                        break;

                    case 14:
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay14.Handle);
                        break;

                    case 15:
                        pRealPlayHandle[i] = DHClient.DHRealPlay(pLoginID, i, picRealPlay15.Handle);
                        break;
                    }
                }
                gpbPTZControl.Enabled = true;
            }
            else
            {
                btnRealPlay.Text = strStart;
                cmbChannelSelect.Items.Clear();
                for (int i = 0; i < deviceInfo.byChanNum; i++)
                {
                    DHClient.DHStopRealPlay(pRealPlayHandle[i]);
                }
                picRealPlay0.Refresh();
                picRealPlay1.Refresh();
                picRealPlay2.Refresh();
                picRealPlay3.Refresh();
                picRealPlay4.Refresh();
                picRealPlay5.Refresh();
                picRealPlay6.Refresh();
                picRealPlay7.Refresh();
                picRealPlay8.Refresh();
                picRealPlay9.Refresh();
                picRealPlay10.Refresh();
                picRealPlay11.Refresh();
                picRealPlay12.Refresh();
                picRealPlay13.Refresh();
                picRealPlay14.Refresh();
                picRealPlay15.Refresh();
                gpbPTZControl.Enabled = false;
            }
        }
Beispiel #11
0
 private void TimePlay_Tick(object sender, EventArgs e)
 {
     DHClient.DHStopRealPlay(pRealPlayHandle);
     picRealPlay1.Refresh();
 }