Exemplo n.º 1
0
        public void ptzControl(int cmd, string puId, int channelNo, BVCU_PTZ_MOVE move, int presetNo = 0)
        {
            Channel channel = m_session.getChannel(puId, channelNo);

            if (channel == null)
            {
                return;
            }
            BVCU_PUCFG_PTZControl ptzCtrl = new BVCU_PUCFG_PTZControl();

            ptzCtrl.bStop       = (int)move;
            ptzCtrl.iPTZCommand = cmd;
            ptzCtrl.iParam3     = ptzCtrl.iParam2 = ptzCtrl.iParam1 = 0;
            switch (cmd)
            {
            case BVCU.BVCU_PTZ_COMMAND.LEFT:
            case BVCU.BVCU_PTZ_COMMAND.RIGHT:
            case BVCU.BVCU_PTZ_COMMAND.UP:
            case BVCU.BVCU_PTZ_COMMAND.DOWN:
                ptzCtrl.iParam2 = m_ptzSpeed;
                break;

            case BVCU.BVCU_PTZ_COMMAND.LEFTDOWN:
            case BVCU.BVCU_PTZ_COMMAND.LEFTTOP:
            case BVCU.BVCU_PTZ_COMMAND.RIGHTDOWN:
            case BVCU.BVCU_PTZ_COMMAND.RIGHTTOP:
                ptzCtrl.iParam1 = ptzCtrl.iParam2 = m_ptzSpeed;
                break;

            case BVCU.BVCU_PTZ_COMMAND.PRESET_GO:
                ptzCtrl.iParam1 = presetNo;
                ptzCtrl.iParam2 = ptzCtrl.iParam3 = m_ptzSpeed;
                break;

            case BVCU.BVCU_PTZ_COMMAND.CRUISE_GO:
                ptzCtrl.iParam1 = presetNo;
                break;

            default:
                break;
            }
            IntPtr pt = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(BVCU_PUCFG_PTZControl)));

            Marshal.StructureToPtr(ptzCtrl, pt, true);
            BVCU.ManagedLayer_CuSetPuPtzControl(m_bvcuSdkHandle, m_session.Handle, Encoding.UTF8.GetBytes(puId), channel.ptzIdx, pt);
        }
Exemplo n.º 2
0
        void buttonPtzControl(Button button, BVCU_PTZ_MOVE move)
        {
            int cmd = BVCU_PTZ_COMMAND.UP;

            if (button.Name.Equals("buttonPTZLeftUp"))
            {
                cmd = BVCU_PTZ_COMMAND.LEFTTOP;
            }
            else if (button.Name.Equals("buttonPTZUp"))
            {
                cmd = BVCU_PTZ_COMMAND.UP;
            }
            else if (button.Name.Equals("buttonPTZRightUp"))
            {
                cmd = BVCU_PTZ_COMMAND.RIGHTTOP;
            }
            else if (button.Name.Equals("buttonPTZRight"))
            {
                cmd = BVCU_PTZ_COMMAND.RIGHT;
            }
            else if (button.Name.Equals("buttonPTZRightDown"))
            {
                cmd = BVCU_PTZ_COMMAND.RIGHTDOWN;
            }
            else if (button.Name.Equals("buttonPTZDown"))
            {
                cmd = BVCU_PTZ_COMMAND.DOWN;
            }
            else if (button.Name.Equals("buttonPTZLeftDown"))
            {
                cmd = BVCU_PTZ_COMMAND.LEFTDOWN;
            }
            else if (button.Name.Equals("buttonPTZLeft"))
            {
                cmd = BVCU_PTZ_COMMAND.LEFT;
            }
            else if (button.Name.Equals("buttonLensUp"))
            {
                cmd = BVCU_PTZ_COMMAND.ZOOM_DEC;
            }
            else if (button.Name.Equals("buttonLensDown"))
            {
                cmd = BVCU_PTZ_COMMAND.ZOOM_INC;
            }
            else if (button.Name.Equals("buttonFocusUp"))
            {
                cmd = BVCU_PTZ_COMMAND.FOCUS_DEC;
            }
            else if (button.Name.Equals("buttonFocusDown"))
            {
                cmd = BVCU_PTZ_COMMAND.FOCUS_INC;
            }
            else if (button.Name.Equals("buttonApertureUp"))
            {
                cmd = BVCU_PTZ_COMMAND.APERTURE_DEC;
            }
            else if (button.Name.Equals("buttonApertureDown"))
            {
                cmd = BVCU_PTZ_COMMAND.APERTURE_INC;
            }
            else
            {
                return;
            }
            Dialog.OneDialog dlg = m_sdkOperator.Dialog.getDialog(m_activePanel);
            if (dlg != null)
            {
                m_sdkOperator.ptzControl(cmd, dlg.pu.id, dlg.channelNo, move);
            }
        }