示例#1
0
文件: HCControler.cs 项目: lyq66/tka
        public static int Login(string IP, ushort Port, string Name, string Password, int time = 1)
        {
            int UserID = 0;

            if (SystemHelper.GetOSBit() == OSBit.OS64Bit)
            {
                for (int i = 0; i <= time; i++)
                {
                    UserID = HCNetSDK_X64.NET_DVR_Login_V30(IP, Port, Name, Password, out lpDeviceInfo_X64);
                    if (UserID != -1)
                    {
                        break;
                    }
                }
            }
            else
            {
                for (int i = 0; i <= time; i++)
                {
                    UserID = HCNetSDK_X86.NET_DVR_Login(IP, Port, Name, Password, out lpDeviceInfo);
                    if (UserID != -1)
                    {
                        break;
                    }
                }
            }

            return(UserID);
        }
示例#2
0
        private void InfoIPChannel()
        {
            string HCIP       = ConfigurationManager.AppSettings["HCIP"];
            ushort HCPort     = Convert.ToUInt16(ConfigurationManager.AppSettings["HCPort"]);
            string HCUserName = ConfigurationManager.AppSettings["HCUserName"];
            string HCPassWord = ConfigurationManager.AppSettings["HCPassWord"];

            HC_SDKFactory.DVR_NET_INIT();
            int HCUserID = HC_SDKFactory.Login(HCIP, HCPort, HCUserName, HCPassWord);

            uint   dwSize          = (uint)Marshal.SizeOf(m_struIpParaCfgV40);
            IntPtr ptrIpParaCfgV40 = Marshal.AllocHGlobal((Int32)dwSize);

            Marshal.StructureToPtr(m_struIpParaCfgV40, ptrIpParaCfgV40, false);
            uint dwReturn = 0;

            if (!HCNetSDK_X64.NET_DVR_GetDVRConfig(HCUserID, HCNetSDK_X64.NET_DVR_GET_IPPARACFG_V40, 0, ptrIpParaCfgV40, dwSize, ref dwReturn))
            {
                MessageBox.Show("Net NVR Failed! Code :" + HCNetSDK_X64.NET_DVR_GetLastError());
            }
            else
            {
                m_struIpParaCfgV40  = (HCNetSDK_X64.NET_DVR_IPPARACFG_V40)Marshal.PtrToStructure(ptrIpParaCfgV40, typeof(HCNetSDK_X64.NET_DVR_IPPARACFG_V40));
                dwDCStartChannelNum = (int)m_struIpParaCfgV40.dwStartDChan;
            }
        }
示例#3
0
文件: HCControler.cs 项目: lyq66/tka
 public void Stop()
 {
     PlayCtrl_X64.PlayM4_Stop(ClientPort);
     PlayCtrl_X64.PlayM4_CloseStream(ClientPort);
     PlayCtrl_X64.PlayM4_FreePort(ClientPort);
     HCNetSDK_X64.NET_DVR_StopRealPlay(RealHandle);
 }
示例#4
0
        /// <summary>
        /// 向上移动
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Camera_Start_Move(object sender, MouseButtonEventArgs e)
        {
            Button button = (Button)sender;

            switch (button.Name)
            {
            case "Up":
                HCNetSDK_X64.NET_DVR_PTZControlWithSpeed_Other(HCUserID, Channle, HCNetSDK_X64.TILT_UP, 0, (uint)2);
                break;

            case "Left":
                HCNetSDK_X64.NET_DVR_PTZControlWithSpeed_Other(HCUserID, Channle, HCNetSDK_X64.PAN_LEFT, 0, (uint)2);
                break;

            case "Right":
                HCNetSDK_X64.NET_DVR_PTZControlWithSpeed_Other(HCUserID, Channle, HCNetSDK_X64.PAN_RIGHT, 0, (uint)2);
                break;

            case "Down":
                HCNetSDK_X64.NET_DVR_PTZControlWithSpeed_Other(HCUserID, Channle, HCNetSDK_X64.TILT_DOWN, 0, (uint)2);
                break;

            case "ZoomIn":
                HCNetSDK_X64.NET_DVR_PTZControlWithSpeed_Other(HCUserID, Channle, HCNetSDK_X64.ZOOM_IN, 0, (uint)2);
                break;

            case "ZoomOut":
                HCNetSDK_X64.NET_DVR_PTZControlWithSpeed_Other(HCUserID, Channle, HCNetSDK_X64.ZOOM_OUT, 0, (uint)2);
                break;
            }
        }
示例#5
0
文件: HCControler.cs 项目: lyq66/tka
        public void Stop()
        {
            PlayCtrl_X64.PlayM4_Stop(ClientPort);
            PlayCtrl_X64.PlayM4_CloseStream(ClientPort);
            PlayCtrl_X64.PlayM4_FreePort(ClientPort);
            HCNetSDK_X64.NET_DVR_StopRealPlay(RealHandle);

            //this.control.Invalidate();
        }
示例#6
0
文件: HCControler.cs 项目: lyq66/tka
 public static bool DVR_NET_INIT()
 {
     if (SystemHelper.GetOSBit() == OSBit.OS64Bit)
     {
         return(HCNetSDK_X64.NET_DVR_Init());
     }
     else
     {
         return(HCNetSDK_X86.NET_DVR_Init());
     }
 }
示例#7
0
文件: HCControler.cs 项目: lyq66/tka
        public void Trun(string Direction)
        {
            uint m_direction = 0;

            switch (Direction)
            {
            case "Up":
            {
                m_direction = 21;
                break;
            }

            case "Down":
            {
                m_direction = 22;
                break;
            }

            case "Left":
            {
                m_direction = 23;
                break;
            }

            case "Right":
            {
                m_direction = 24;
                break;
            }

            case "Zoom":
            {
                m_direction = 11;
                break;
            }

            case "ZoomOut":
            {
                m_direction = 12;
                break;
            }
            }

            if (!IsTurnStart)
            {
                HCNetSDK_X64.NET_DVR_PTZControl_Other(UserID, lpClientInfo.lChannel, m_direction, 0);
                IsTurnStart = !IsTurnStart;
            }
            else
            {
                HCNetSDK_X64.NET_DVR_PTZControl_Other(UserID, lpClientInfo.lChannel, m_direction, 1);
                IsTurnStart = !IsTurnStart;
            }
        }
示例#8
0
文件: HCControler.cs 项目: lyq66/tka
 public void Play()
 {
     //int i= HCNetSDK_X64.NET_DVR_RealPlay_V30(UserID, ref lpClientInfo, CallBackHandle, (IntPtr)UserDate,1);
     //int i = HCNetSDK_X64.NET_DVR_RealPlay_V30(UserID, ref lpClientInfo, null, (IntPtr)UserDate, 1);
     //IntPtr pUser = new IntPtr();
     if (RealData == null)
     {
         RealData = new HCNetSDK_X64.REALDATACALLBACK(RealDataCallBack);//预览实时流回调函数
     }
     int i = HCNetSDK_X64.NET_DVR_RealPlay_V40(UserID, ref lpPreviewInfo, RealData, (IntPtr)UserDate);
     //HCNetSDK_X64.NET_DVR_SetPlayerBufNumber(i, 50);
     //HCNetSDK_X64.NET_DVR_ThrowBFrame(i, 10);
 }
示例#9
0
文件: HCControler.cs 项目: lyq66/tka
        public static int Login(string IP, ushort Port, string Name, string Password, int time = 1)
        {
            int UserID = 0;

            for (int i = 0; i <= time; i++)
            {
                UserID = HCNetSDK_X64.NET_DVR_Login_V30(IP, Port, Name, Password, ref lpDeviceInfo_X64);
                if (UserID != -1)
                {
                    break;
                }
            }
            return(UserID);
        }
示例#10
0
        private void InfoIPChannel()
        {
            uint   dwSize          = (uint)Marshal.SizeOf(m_struIpParaCfgV40);
            IntPtr ptrIpParaCfgV40 = Marshal.AllocHGlobal((Int32)dwSize);

            Marshal.StructureToPtr(m_struIpParaCfgV40, ptrIpParaCfgV40, false);
            uint dwReturn = 0;

            if (!HCNetSDK_X64.NET_DVR_GetDVRConfig(HCUserID, HCNetSDK_X64.NET_DVR_GET_IPPARACFG_V40, 0, ptrIpParaCfgV40, dwSize, ref dwReturn))
            {
                MessageBox.Show("Net NVR Failed! Code :" + HCNetSDK_X64.NET_DVR_GetLastError());
            }
            else
            {
                m_struIpParaCfgV40 = (HCNetSDK_X64.NET_DVR_IPPARACFG_V40)Marshal.PtrToStructure(ptrIpParaCfgV40, typeof(HCNetSDK_X64.NET_DVR_IPPARACFG_V40));
                //byte byStreamType;
                for (int i = 0; i < m_struIpParaCfgV40.dwDChanNum; i++)
                {
                    iChannelNum[i + dwAChanTotalNum] = i + (int)m_struIpParaCfgV40.dwStartDChan;
                    dwDCStartChannelNum = (int)m_struIpParaCfgV40.dwStartDChan;
                    //byStreamType = m_struIpParaCfgV40.struStreamMode[i].byGetStreamType;
                    //switch (byStreamType)
                    //{
                    //    //目前NVR仅支持0- 直接从设备取流一种方式 NVR supports only one mode: 0- get stream from device directly
                    //    case 0:
                    //        dwSize = (uint)Marshal.SizeOf(m_struStreamMode);
                    //        IntPtr ptrChanInfo = Marshal.AllocHGlobal((Int32)dwSize);
                    //        Marshal.StructureToPtr(m_struIpParaCfgV40.struStreamMode[i].uGetStream, ptrChanInfo, false);
                    //        m_struChanInfo = (HCNetSDK_X64.NET_DVR_IPCHANINFO)Marshal.PtrToStructure(ptrChanInfo, typeof(HCNetSDK_X64.NET_DVR_IPCHANINFO));

                    //        //列出IP通道 List the IP channel
                    //        ListIPChannel(i + 1, m_struChanInfo.byEnable, m_struChanInfo.byIPID);
                    //        break;
                    //    default:
                    //        break;
                    //}
                }
            }
        }
示例#11
0
        private void InfoIPChannel()
        {
            uint   dwSize          = (uint)Marshal.SizeOf(m_struIpParaCfgV40);
            IntPtr ptrIpParaCfgV40 = Marshal.AllocHGlobal((Int32)dwSize);

            Marshal.StructureToPtr(m_struIpParaCfgV40, ptrIpParaCfgV40, false);
            uint dwReturn = 0;

            if (!HCNetSDK_X64.NET_DVR_GetDVRConfig(HCUserID, HCNetSDK_X64.NET_DVR_GET_IPPARACFG_V40, 0, ptrIpParaCfgV40, dwSize, ref dwReturn))
            {
                //MessageBox.Show("Net NVR Failed! Code :" + HCNetSDK_X64.NET_DVR_GetLastError());
            }
            else
            {
                m_struIpParaCfgV40 = (HCNetSDK_X64.NET_DVR_IPPARACFG_V40)Marshal.PtrToStructure(ptrIpParaCfgV40, typeof(HCNetSDK_X64.NET_DVR_IPPARACFG_V40));
                //byte byStreamType;
                dwDCStartChannelNum = (int)m_struIpParaCfgV40.dwStartDChan;
                for (int i = 0; i < m_struIpParaCfgV40.dwDChanNum; i++)
                {
                    iChannelNum[i + dwAChanTotalNum] = i + (int)m_struIpParaCfgV40.dwStartDChan;
                }
            }
        }
示例#12
0
文件: HCControler.cs 项目: lyq66/tka
 public void Play()
 {
     int i = HCNetSDK_X64.NET_DVR_RealPlay_V40(UserID, ref lpClientInfo, CallBackHandle, UserDate, true);
     //HCNetSDK_X64.NET_DVR_SetPlayerBufNumber(i, 50);
     //HCNetSDK_X64.NET_DVR_ThrowBFrame(i, 10);
 }
示例#13
0
文件: HCControler.cs 项目: lyq66/tka
 public static bool DVR_NET_INIT()
 {
     return(HCNetSDK_X64.NET_DVR_Init());
 }