/// <summary>
        /// 视频播放事件回调
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="evType"></param>
        /// <param name="strTag"></param>
        private bool VideoPlayEventCallBackEvent(object sender, VideoPlayCallbackValue eventValue)
        {
            bool       bolResult = false;
            IVideoPlay v         = (IVideoPlay)sender;

            if (bolDisplayVideoEvent)
            {
                StringBuilder sbDisplayInfo = new StringBuilder();
                sbDisplayInfo.Append("[");
                if (dicCurrentVideoInfos != null && dicCurrentVideoInfos.ContainsKey(strCurrentVideoID))
                {
                    sbDisplayInfo.Append(dicCurrentVideoInfos[strCurrentVideoID].DVSNumber + "_");
                    sbDisplayInfo.Append(dicCurrentVideoInfos[strCurrentVideoID].DVSName);
                }

                if (CurrentCameraInfo != null)
                {
                    sbDisplayInfo.Append("_");
                    sbDisplayInfo.Append(CurrentCameraInfo.Channel + "_");
                    sbDisplayInfo.Append(CurrentCameraInfo.CameraName);
                }
                sbDisplayInfo.Append("]");
                switch (eventValue.evType)
                {
                case Enum_VideoPlayEventType.InitEnd:
                    sbDisplayInfo.Append("控件初始化完成");
                    break;

                case Enum_VideoPlayEventType.LoadEnd:
                    sbDisplayInfo.Append("控件加载完成");
                    break;

                case Enum_VideoPlayEventType.SetVideoInfo:
                    sbDisplayInfo.Append("设置视频播放信息");
                    break;

                case Enum_VideoPlayEventType.VideoTypeNotExists:
                    sbDisplayInfo.Append("视频类型不存在");
                    break;

                case Enum_VideoPlayEventType.VideoClose:
                    sbDisplayInfo.Append("关闭视频");
                    break;

                case Enum_VideoPlayEventType.RequestConn:
                    sbDisplayInfo.Append("请求视频连接");
                    break;

                case Enum_VideoPlayEventType.ConnSuccess:
                    sbDisplayInfo.Append("连接成功,请求视频信息");
                    break;

                case Enum_VideoPlayEventType.ConnFailed:
                    sbDisplayInfo.Append("连接失败");
                    break;

                case Enum_VideoPlayEventType.VideoPlay:
                    sbDisplayInfo.Append("正在播放视频");
                    break;

                case Enum_VideoPlayEventType.RequestVideoTimeout:
                    sbDisplayInfo.Append("请求视频信息超时");
                    break;

                case Enum_VideoPlayEventType.VideoDeviceNotOnline:
                    sbDisplayInfo.Append("当前设备不在线");
                    break;

                case Enum_VideoPlayEventType.UserAccessError:
                    sbDisplayInfo.Append("用户信息验证失败");
                    break;

                case Enum_VideoPlayEventType.VideoPlayException:
                    sbDisplayInfo.Append("视频播放异常");
                    break;

                case Enum_VideoPlayEventType.DevLoginException:
                    sbDisplayInfo.Append("设备登录异常" + v.CurrentVideoInfo.LoginPrompt);
                    break;

                case Enum_VideoPlayEventType.DeviceNotExist:
                    sbDisplayInfo.Append("设备不存在");
                    break;

                case Enum_VideoPlayEventType.ConnNumMax:
                    sbDisplayInfo.Append("超出设备最大连接数");
                    break;

                case Enum_VideoPlayEventType.StartVideoRecord:
                    sbDisplayInfo.Append("开始视频视频录像");
                    break;

                case Enum_VideoPlayEventType.StartVideoRecordException:
                    sbDisplayInfo.Append("开始视频视频录像异常");
                    break;

                case Enum_VideoPlayEventType.StopVideoRecord:
                    sbDisplayInfo.Append("停止视频录像");
                    break;

                case Enum_VideoPlayEventType.StopVideoRecordException:
                    sbDisplayInfo.Append("停止视频录像异常");
                    break;

                case Enum_VideoPlayEventType.LoginStart:
                    sbDisplayInfo.Append("设备开始登陆");
                    break;

                case Enum_VideoPlayEventType.LogonIn:
                    sbDisplayInfo.Append("设备登陆中");
                    break;

                case Enum_VideoPlayEventType.LoginSuccess:
                    sbDisplayInfo.Append("设备登陆成功");
                    break;

                case Enum_VideoPlayEventType.DeviceStreamTypeException:
                    sbDisplayInfo.Append("设备码流类型异常");
                    break;

                case Enum_VideoPlayEventType.NoDeviceAuthority:
                    sbDisplayInfo.Append("无设备权限");
                    break;

                default:
                    sbDisplayInfo.AppendFormat("[{0}]{1}", eventValue.evType.ToString(), eventValue.EventContent);
                    break;
                }
                sbDisplayInfo.Append("[" + videoPlayWindow.intConnCount + "]");
                DisplayRecord(sbDisplayInfo.ToString());
            }
            return(bolResult);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public bool VideoPlayCallback(VideoPlayCallbackValue value)
        {
            bool bolResult = false;

            switch (value.evType)
            {
            case Enum_VideoPlayEventType.LoginStart:
            case Enum_VideoPlayEventType.LogonIn:
            case Enum_VideoPlayEventType.ConnSuccess:
            case Enum_VideoPlayEventType.LoginSuccess:
                this.VideoPlayState = Enum_VideoPlayState.Connecting;
                break;


            case Enum_VideoPlayEventType.DevLoginException:
            case Enum_VideoPlayEventType.UserAccessError:
            case Enum_VideoPlayEventType.VideoClose:
                this.VideoPlayState = Enum_VideoPlayState.NotInPlayState;
                break;

            case Enum_VideoPlayEventType.VideoPlay:
                this.VideoPlayState = Enum_VideoPlayState.InPlayState;
                break;

            case Enum_VideoPlayEventType.InitEnd:
                break;

            case Enum_VideoPlayEventType.LoadEnd:
                break;

            case Enum_VideoPlayEventType.SetVideoInfo:
                break;

            case Enum_VideoPlayEventType.VideoTypeNotExists:
                break;

            case Enum_VideoPlayEventType.DeviceNotExist:
                break;

            case Enum_VideoPlayEventType.VideoPlayException:
                break;

            case Enum_VideoPlayEventType.RequestConn:
                break;

            case Enum_VideoPlayEventType.ConnFailed:
                break;

            case Enum_VideoPlayEventType.RequestVideoTimeout:
                break;

            case Enum_VideoPlayEventType.ConnNumMax:
                break;

            case Enum_VideoPlayEventType.DeviceStreamTypeException:
                break;

            case Enum_VideoPlayEventType.TimtOutVideoClose:
                break;

            case Enum_VideoPlayEventType.StartVideoRecord:
                break;

            case Enum_VideoPlayEventType.StopVideoRecord:
                break;

            case Enum_VideoPlayEventType.StartVideoRecordException:
                break;

            case Enum_VideoPlayEventType.StopVideoRecordException:
                break;

            case Enum_VideoPlayEventType.TimtOutVideoRecordClose:
                break;

            case Enum_VideoPlayEventType.VideoDeviceNotOnline:
                break;

            case Enum_VideoPlayEventType.NoDeviceAuthority:
                break;

            case Enum_VideoPlayEventType.Unidentified:
                break;

            default:
                break;
            }
            if (VideoPlayCallbackEvent != null)
            {
                return(VideoPlayCallbackEvent(this, value));
            }
            return(bolResult);
        }
示例#3
0
        private bool Iv_VideoPlayCallbackEvent(object sender, VideoPlayCallbackValue evValue)
        {
            bool bolResult = false;

            return(bolResult);
        }
        /// <summary>
        /// 视频播放事件回调
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="evType"></param>
        /// <param name="strTag"></param>
        public bool VideoPlayEventCallBackEvent(object sender, VideoPlayCallbackValue eventValue)
        {
            bool bolResult = false;

            if (bolDisplayVideoEvent)
            {
                StringBuilder sbDisplayInfo = new StringBuilder();
                sbDisplayInfo.Append("[");
                if (dicCurrentVideoInfos != null && dicCurrentVideoInfos.ContainsKey(strCurrentVideoID))
                {
                    sbDisplayInfo.Append(dicCurrentVideoInfos[strCurrentVideoID].DVSNumber + "_");
                    sbDisplayInfo.Append(dicCurrentVideoInfos[strCurrentVideoID].DVSName);
                }

                if (CurrentCameraInfo != null)
                {
                    sbDisplayInfo.Append("_");
                    sbDisplayInfo.Append(CurrentCameraInfo.Channel + "_");
                    sbDisplayInfo.Append(CurrentCameraInfo.CameraName);
                }
                sbDisplayInfo.Append("]");
                switch (eventValue.evType)
                {
                case Enum_VideoPlayEventType.InitEnd:
                    sbDisplayInfo.Append("控件初始化完成");
                    break;

                case Enum_VideoPlayEventType.LoadEnd:
                    sbDisplayInfo.Append("控件加载完成");
                    break;

                case Enum_VideoPlayEventType.SetVideoInfo:
                    sbDisplayInfo.Append("设置视频播放信息");
                    break;

                case Enum_VideoPlayEventType.VideoTypeNotExists:
                    sbDisplayInfo.Append("视频类型不存在");
                    break;

                case Enum_VideoPlayEventType.VideoClose:
                    sbDisplayInfo.Append("关闭视频");
                    break;

                case Enum_VideoPlayEventType.RequestConn:
                    sbDisplayInfo.Append("请求视频连接");
                    break;

                case Enum_VideoPlayEventType.ConnSuccess:
                    sbDisplayInfo.Append("连接成功,请求视频信息");
                    break;

                case Enum_VideoPlayEventType.ConnFailed:
                    sbDisplayInfo.Append("连接失败");
                    break;

                case Enum_VideoPlayEventType.VideoPlay:
                    sbDisplayInfo.Append("正在播放视频");
                    break;

                case Enum_VideoPlayEventType.RequestVideoTimeout:
                    sbDisplayInfo.Append("请求视频信息超时");
                    break;

                case Enum_VideoPlayEventType.VideoDeviceNotOnline:
                    sbDisplayInfo.Append("当前设备不在线");
                    break;

                case Enum_VideoPlayEventType.UserAccessError:
                    sbDisplayInfo.Append("用户信息验证失败");
                    break;

                default:
                    sbDisplayInfo.Append("未知状态" + eventValue.evType.ToString());
                    break;
                }
                sbDisplayInfo.Append("[" + videoPlayWindow.intConnCount + "]");

                DisplayRecord(sbDisplayInfo.ToString());
            }
            return(bolResult);
        }