コード例 #1
0
        public void callback(UInt32 msg_id, UInt32 arg1, UInt32 arg2, IntPtr data1, UInt32 data1_len, IntPtr data2, UInt32 data2_len)
        {
            st_event st = new st_event();

            switch (msg_id)
            {
            case 12:
            {
                st = (st_event)Marshal.PtrToStructure(data1, typeof(st_event));
                string str  = Encoding.Default.GetString(st.event_data);
                string guid = System.Text.Encoding.Default.GetString(st.guid);
                int    i    = guid.IndexOf("\0");
                if (i > 0)
                {
                    guid = guid.Substring(0, i);
                }
                int Temp_intChannelIndex = str.IndexOf("c:");
                if (str.IndexOf("{") < 0 && Temp_intChannelIndex > 0)
                {
                    //存在 { }代表事件内容
                    //认为是录像信息进行解析
                    lRemoteVideoRecord = SDK_SKVideoSDK.SKRemoteVideoRecordDataPrasing(guid, str);
                }
            }
            break;

            default:
                break;
            }
        }
コード例 #2
0
        public static void callback_StramInfo(st_event st)
        {
            string guid = System.Text.Encoding.UTF8.GetString(st.guid).Trim();
            int    i    = guid.IndexOf("\0");

            guid = guid.Substring(0, i);
            string data = Encoding.Default.GetString(st.event_data).Trim();

            i    = data.IndexOf("\0");
            data = data.Substring(0, i);
            Rootobject root = JsonConvert.DeserializeObject <Rootobject>(data);

            //string strJsonDataContent=
            switch (root.cmd)
            {
            case c_GET_CAM_INFO:
                int        Temp_intIndex = data.IndexOf(c_GET_CAM_INFO) + c_GET_CAM_INFO.Length + 9;
                int        Temp_intt     = data.Length - Temp_intIndex - 1;
                string     strCotnent    = data.Substring(Temp_intIndex, Temp_intt);
                List <Cam> cs            = JsonConvert.DeserializeObject <List <Cam> >(strCotnent);
                //foreach (Cam item in cs)
                //{
                //    item.m_br = 2048;
                //    item.s_h = 704;
                //    item.s_w = 576;
                //    item.s_fps = 25;
                //    item.s_br = 512;
                //}
                VideoStreamInfoReport(new VideoStreamInfoReportValue
                {
                    Guid       = guid,
                    StreamInfo = new CamsStreamInfo
                    {
                        cams = cs.ToArray()
                    }
                });
                break;

            case c_GET_NET_SPD:
                Temp_intIndex = data.IndexOf(c_GET_NET_SPD) + c_GET_NET_SPD.Length + 9;
                Temp_intt     = data.Length - Temp_intIndex - 1;
                strCotnent    = data.Substring(Temp_intIndex, Temp_intt);
                Svr[] scrs = JsonConvert.DeserializeObject <Svr[]>(strCotnent);
                NETSPDReport(new NETSPDReportValue
                {
                    Guid = guid,
                    Svrs = scrs
                });
                break;
            }
        }
コード例 #3
0
        public static void callback(UInt32 msg_id, UInt32 arg1, UInt32 arg2, IntPtr data1, UInt32 data1_len, IntPtr data2, UInt32 data2_len)
        {
            st_event st = new st_event();

            switch (msg_id)
            {
            case 0X0C:
                st = (st_event)Marshal.PtrToStructure(data1, typeof(st_event));
                switch (st.event_code)
                {
                case 0X32:        //获取摄像头信息(分辨率,码率,帧率)
                    callback_StramInfo(st);
                    break;
                }
                break;

            default:
                break;
            }
        }