public bool CloseTransfer485()
        {
            this.CheckLogined(true, "CloseTransfer485");
            this.CheckTransfer485(true, "CloseTransfer485");

            bool result = HCNetSDK.NET_DVR_SerialStop(this.transfer485Handle);

            if (result)
            {
                this.transfer485Handle = -1;
                this.Serial485DataHandle = null;
            }

            return result;
        }
        public bool OpenTransfer485()
        {
            this.CheckLogined(true, "OpenTransfer485");
            this.CheckTransfer485(false, "OpenTransfer485");

            this.Serial485DataHandle = new HCNetSDK.SerialDataCallBack(Serial485DataCall);

            this.transfer485Handle = HCNetSDK.NET_DVR_SerialStart(this.userID, 2, this.Serial485DataHandle, 0);

            return this.transfer485Handle >= 0;
        }
Ejemplo n.º 3
0
        public bool ShutdownRouteway485()
        {
            if (Serial485Handle < 0)
            throw new InvalidOperationException();

            bool Result = HCNetSDK.NET_DVR_SerialStop(Serial485Handle);

            if (Result)
            {
            Serial485Handle = -1;
            Serial485ReceiveHandle = null;
            Serial485DataHandle = null;
            }

            return Result;
        }
        public void Start(CameraInfo camera, CardOutType cardOutType, int id)
        {
            CurrentCardOutType = cardOutType;
            CurrentCardOutId = id;
            IsValidChannel = false;
            NET_DVR_CLIENTINFO struClientInfo;  //定义预览参数结构体
            struClientInfo.lChannel = camera.ChannelNo;
            struClientInfo.lLinkMode = 0;
            struClientInfo.hPlayWnd = IntPtr.Zero; //camera.Handle;
            int m_iSubWndIndex = 1000;  //用户数据
            struClientInfo.sMultiCastIP = "0.0.0.0";
            // 实时预览 不回调
            // m_lPlayHandle = HCNetSDK.NET_DVR_RealPlay_V30(_deviceInfo.ServiceID, ref struClientInfo, null, m_iSubWndIndex, true);
            //实时预览 回调
            _cameraInfo = camera;
            ListPorts = new Dictionary<int, IntPtr>();
            switch (cardOutType)
            {
                case CardOutType.DefaultDisplay:
                    stream_callback = new RealDataCallBack_V30(g_DefaultRealDataCallBack_V30);
                    break;
                case CardOutType.SynGroup:
                    stream_callback = new RealDataCallBack_V30(g_SynGroupRealDataCallBack_V30);
                    break;
                case CardOutType.GroupSwitch:
                    stream_callback = new RealDataCallBack_V30(g_GroupSwitchRealDataCallBack_V30);
                    break;
                case CardOutType.ProgSwitch:
                    stream_callback = new RealDataCallBack_V30(g_ProgSwitchRealDataCallBack_V30);
                    break;

                default:
                    stream_callback = new RealDataCallBack_V30(g_RealDataCallBack_V30);
                    break;
            }

            GCHandle aa = GCHandle.Alloc(stream_callback);
            GCHandle bb = GCHandle.Alloc(serial_callback);
            m_lPlayHandle = HCNetSDK.NET_DVR_RealPlay_V30(_deviceInfo.ServiceID, ref struClientInfo, stream_callback, m_iSubWndIndex, true);

            //m_lPlayHandle = HCNetSDK.NET_DVR_RealPlay_V30(_deviceInfo.ServiceID, ref struClientInfo, null, m_iSubWndIndex, true);
            camera.PlayHandle = m_lPlayHandle;

            int SerialHandle = -1;
            if (!ListSerialHandle.ContainsKey(_deviceInfo.DeviceId))
            {
                serial_callback = new HCNetSDK.SerialDataCallBack(g_SerialDataCallBack);
                SerialHandle = HCNetSDK.NET_DVR_SerialStart(_deviceInfo.ServiceID, 1, serial_callback, (uint)m_iSubWndIndex);
                if (SerialHandle != -1)
                {
                    ListSerialHandle.Add(_deviceInfo.DeviceId, SerialHandle);
                }
            }

            camera.SerialHandle = SerialHandle;
            _cameraInfo = camera;
            if (m_lPlayHandle > -1)
            {
                IsValidChannel = true;
            }
            processFile = AppDomain.CurrentDomain.BaseDirectory + "Temp\\";
            if (!Directory.Exists(processFile))
            {
                Directory.CreateDirectory(processFile);
            }
            TempPath = processFile;
            processFile = processFile + "delectfile.jpg";
            _cameraInfo = camera;
            if (thread == null)
            {

                stopEvent = new ManualResetEvent(false);
                thread = new Thread(WorkerThread);
                thread.Name = camera.Name;
                thread.Start();
            }
        }
Ejemplo n.º 5
0
        public bool EstablishRouteway485(SerialReceiveCallback SerialReceiveCall)
        {
            if (DvcUserID < 0 || Serial485Handle >= 0)
            throw new InvalidOperationException();

            Serial485DataHandle = new HCNetSDK.SerialDataCallBack(Serial485DataCall);

            Serial485Handle = HCNetSDK.NET_DVR_SerialStart(DvcUserID, 2, Serial485DataHandle, 0);

            Serial485ReceiveHandle = (Serial485Handle >= 0) ? SerialReceiveCall : null;

            return (Serial485Handle >= 0);
        }