예제 #1
0
        public override bool Connection(ConnectionConfiguration configuration)
        {
            int cameraHwnd = QianYiSDK.Net_AddCamera(configuration.IP);

            if (cameraHwnd == 0)
            {
                int iRet = QianYiSDK.Net_ConnCamera(cameraHwnd, configuration.Port, 5);
                if (iRet == 0)
                {
                    iRet = QianYiSDK.Net_StartVideo(cameraHwnd, configuration.StreamType, configuration.ContainerHwnd);
                    if (iRet == 0)
                    {
                        configuration.CameraHwnd = cameraHwnd;
                        return(true);
                    }
                    else
                    {
                        QianYiSDK.Net_DisConnCamera(cameraHwnd);
                        QianYiSDK.Net_DelCamera(cameraHwnd);
                    }
                }
                else
                {
                    QianYiSDK.Net_DelCamera(cameraHwnd);
                }
            }
            return(false);
        }
예제 #2
0
 public override bool Close(ConnectionConfiguration configuration)
 {
     QianYiSDK.Net_StopVideo(configuration.CameraHwnd);
     QianYiSDK.Net_DisConnCamera(configuration.CameraHwnd);
     QianYiSDK.Net_DelCamera(configuration.CameraHwnd);
     return(true);
 }
예제 #3
0
        private int FindCamera(ref QianYiSDK.T_RcvMsg ptFindDevice, IntPtr obj)
        {
            string ip = QianYiSDK.IntToIp(QianYiSDK.Reverse_uint(ptFindDevice.tNetSetup.uiIPAddress));

            FindCameraCallback(ip, 30000, this.GetType().Name);

            return(0);
        }
예제 #4
0
        public override bool ManualCapture(ConnectionConfiguration configuration, string strFullPath)
        {
            int iRet = QianYiSDK.Net_SaveJpgFile(configuration.CameraHwnd, strFullPath);

            if (iRet == 0)
            {
                return(true);
            }
            return(false);
        }
예제 #5
0
 public override void FindCamera()
 {
     if (CameraFindCameraCallBack == null)
     {
         CameraFindCameraCallBack = FindCamera;
         Task.Factory.StartNew(() =>
         {
             QianYiSDK.Net_FindDevice(CameraFindCameraCallBack, IntPtr.Zero);
         });
     }
 }
예제 #6
0
        public QianYi()
        {
            CameraPlateReceivedCallBack = PlateReceived;

            int ret = QianYiSDK.Net_Init();

            if (ret == 0)
            {
                QianYiSDK.Net_RegImageRecv(CameraPlateReceivedCallBack);
            }
        }
예제 #7
0
 public override void UnInit()
 {
     QianYiSDK.Net_UNinit();
 }