Esempio n. 1
0
        private void HuaMaiVideo_OnRecvRealTimeVideo(IntPtr iUser, IntPtr iFrmae, UInt32 err)
        {
            if (err != Convert.ToUInt32(0))
            {
                return;
            }
            if (iPort == IntPtr.Zero)
            {
                return;
            }
            var result = Marshal.PtrToStructure(iFrmae, typeof(SDK_HuaMai._FRAME_DATA));

            SDK_HuaMai._FRAME_DATA     Data = (SDK_HuaMai._FRAME_DATA)result;
            SDK_HuaMai._RAW_FRAME_TYPE Type = (SDK_HuaMai._RAW_FRAME_TYPE)Data.frame_info.frame_type;
            switch (Type)
            {
            case SDK_HuaMai._RAW_FRAME_TYPE.HME_RFT_P:
            case SDK_HuaMai._RAW_FRAME_TYPE.HME_RFT_I:
            case SDK_HuaMai._RAW_FRAME_TYPE.HME_RFT_H265_P:
            case SDK_HuaMai._RAW_FRAME_TYPE.HME_RFT_H265_I:
                SDK_HuaMai.hm_video_display_input_data(iPort, Data.frame_stream, Data.frame_len, true);
                VideoPlayCallback(new VideoPlayCallbackValue {
                    evType = Enum_VideoPlayEventType.VideoPlay
                });
                VideoPlayState = Enum_VideoPlayState.InPlayState;
                break;

            default:
                //不做操作
                break;
            }
        }
        private void OnRecvRealTimeVideo(IntPtr iUser, IntPtr iFrmae, UInt32 err)
        {
            //intCountttt++;
            //if (intCountttt > 100)
            //{
            //    return;
            //}
            if (err != Convert.ToUInt32(0))
            {
                return;
            }
            if (iPort == IntPtr.Zero)
            {
                string x = "1";
                return;
            }
            var result = Marshal.PtrToStructure(iFrmae, typeof(SDK_HuaMai._FRAME_DATA));

            SDK_HuaMai._FRAME_DATA A = (SDK_HuaMai._FRAME_DATA)result;
            //int intx = (int)A.frame_len;
            SDK_HuaMai._RAW_FRAME_TYPE xx = (SDK_HuaMai._RAW_FRAME_TYPE)A.frame_info.frame_type;
            if (A.frame_len < 10)
            {
                string zzz = "1";
            }
            switch (xx)
            {
            case SDK_HuaMai._RAW_FRAME_TYPE.HME_RFT_P:
            case SDK_HuaMai._RAW_FRAME_TYPE.HME_RFT_I:
            case SDK_HuaMai._RAW_FRAME_TYPE.HME_RFT_H265_P:
            case SDK_HuaMai._RAW_FRAME_TYPE.HME_RFT_H265_I:
                try
                {
                    SDK_HuaMai.hm_video_display_input_data(iPort, A.frame_stream, A.frame_len, true);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
                break;

            default:
                //不做操作
                break;
            }
        }