Esempio n. 1
0
        public bool SetVideoTalkInfo(VideoInfo videoInfo, VideoTalkChannelInfo talkChannel)
        {
            bool           bolResult      = false;
            Enum_VideoType Temp_videoType = videoInfo.VideoType;

            if (ProgParameter.TransitionEnable && Temp_videoType == Enum_VideoType.Unrecognized)
            {
                Temp_videoType = Transition.Transition_VideoTypeConvert.GetVideoType(videoInfo);
            }
            if (videoTalk.CurrentVideoInfo == null || videoTalk.CurrentVideoInfo.VideoType != videoInfo.VideoType)
            {
                TalkSetting ts = CommonMethod.Common.DeepCopy(CurrentTalkSetting);
                videoTalk = VideoTalkRelevant.GetVideoTalkValue(videoInfo);
                videoTalk.CurrentTalkSetting     = ts;
                videoTalk.TalkStausChangedEvent += VideoTalk_TalkStausChangedEvent;
                videoTalk.StartTalkingEvent     += startTalkingEvent;
                videoTalk.StartTalkedEvent      += startTalkedEvent;
                videoTalk.StopTalkedEvent       += stopTalkedEvent;
            }
            videoTalk.SetVideoTalkInfo(videoInfo, talkChannel);
            btnTalkback.Visible     = CurrentTalkChannel.TalkbackEnable;
            btnSperak.Visible       = CurrentTalkChannel.SperakEnable;
            btnInterception.Visible = CurrentTalkChannel.InterceptionEnable;
            return(bolResult);
        }
 private bool VideoPlayGroupControls_PTZAndTalk1_StartTalkingEvent(object sender, object StartTalkBeginValue)
 {
     bool bolResult = false;
     IVideoTalk iv = (IVideoTalk)sender;
     //MessageBox.Show(iv.CurrentTalkChannel.VideoTalkChannelName + "开始对讲");
     //MessageBox.Show(iv.CurrentTalkChannel.VideoTalkChannelName + "发送命令");
     return bolResult;
 }
        /// <summary>
        /// 开始对讲前事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="StartTalkBeginValue"></param>
        /// <returns></returns>
        private bool VideoTalkControlManyChannel1_StartTalkingEvent(object sender, object StartTalkBeginValue)
        {
            bool       bolResult = false;
            IVideoTalk ivt       = (IVideoTalk)sender;

            //对讲前主动关闭声音音频输出,避免程序出现枭叫声
            videoPlayWindow.CloseSound();
            return(bolResult);
        }
        private bool VideoTalkControlManyChannel1_StartTalkingEvent(object sneder, object StartTalkBeginValue)
        {
            bool       bolResult = false;
            IVideoTalk iv        = (IVideoTalk)sneder;

            //MessageBox.Show(iv.CurrentTalkChannel.VideoTalkChannelName + "开始对讲");
            videoTalkControlManyChannel1.CurrentTalkSetting.TalkRecordEnable = true;

            videoTalkControlManyChannel1.CurrentTalkSetting.TalkRecordPath_Local = @"C:\SHIKE_TalkRecord\2019\7\27";
            videoTalkControlManyChannel1.CurrentTalkSetting.TalkRecordName_Local = DateTime.Now.ToString("yyyyMMddHHmmss") + ".G711";
            return(bolResult);
        }
        private bool VideoTalkControl1_StartTalkingEvent(object sneder, object StartTalkBeginValue)
        {
            bool       bolResult = false;
            IVideoTalk iv        = (IVideoTalk)sneder;

            MessageBox.Show(iv.CurrentTalkChannel.VideoTalkChannelName + "开始对讲");



            return(bolResult);
            //throw new NotImplementedException();
        }
        private bool VideoTalkControlManyChannel1_StopTalkedEvent(object sender, object StopTalkValue)
        {
            IVideoTalk vt = (IVideoTalk)sender;

            if (!bolFormCloseFlag &&
                vt.CurrentVideoInfo.VideoType == Enum_VideoType.ZHSR &&
                videoPlayWindow.CurrentVideoInfo != null &&
                videoPlayWindow.CurrentVideoInfo.VideoType == Enum_VideoType.ZHSR &&
                videoPlayWindow.CurrentVideoInfo.DVSAddress == vt.CurrentVideoInfo.DVSAddress)
            {
                //珠海三润关闭对讲会导致视频关闭,需要重新打开
                videoPlayWindow.CurrentVideoPlaySet.VideoTalkEnable = false;
                videoPlayWindow.VideoPlay();
            }
            return(false);
        }
Esempio n. 7
0
        private bool VideoTalk_TalkStausChangedEvent(object sender, object TalkStausChangedValue)
        {
            bool       bolResult = false;
            IVideoTalk iv        = (IVideoTalk)sender;

            switch (iv.CurrentTalkStatus)
            {
            case Enum_TalkStatus.Null:
                btnTalkback.Enabled     = CurrentTalkChannel.TalkbackEnable;
                btnSperak.Enabled       = CurrentTalkChannel.SperakEnable;
                btnInterception.Enabled = CurrentTalkChannel.InterceptionEnable;
                btnTalkback.Text        = "开始对讲";
                btnSperak.Text          = "开始喊话";
                btnInterception.Text    = "开始侦听";
                break;

            case Enum_TalkStatus.Interceptioning:
                btnTalkback.Enabled     = false;
                btnSperak.Enabled       = false;
                btnInterception.Enabled = true;
                btnTalkback.Text        = "开始对讲";
                btnSperak.Text          = "开始喊话";
                btnInterception.Text    = "关闭侦听";

                break;

            case Enum_TalkStatus.Speraking:
                btnTalkback.Enabled     = false;
                btnSperak.Enabled       = true;
                btnInterception.Enabled = false;
                btnTalkback.Text        = "开始对讲";
                btnSperak.Text          = "关闭喊话";
                btnInterception.Text    = "开始侦听";
                break;

            case Enum_TalkStatus.Talkbacking:
                btnTalkback.Enabled     = true;
                btnSperak.Enabled       = false;
                btnInterception.Enabled = false;
                btnTalkback.Text        = "关闭对讲";
                btnSperak.Text          = "开始喊话";
                btnInterception.Text    = "开始侦听";
                break;
            }
            return(bolResult);
        }
        /// <summary>
        /// 开始对讲前事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="StartTalkBeginValue"></param>
        /// <returns></returns>
        private bool VideoTalkControlManyChannel1_StartTalkingEvent(object sender, object StartTalkBeginValue)
        {
            bool       bolResult = false;
            IVideoTalk ivt       = (IVideoTalk)sender;

            //对讲前主动关闭声音音频输出,避免程序出现枭叫声
            videoPlayWindow.CloseSound();
            if (videoPlayWindow.CurrentVideoInfo != null &&
                videoPlayWindow.CurrentVideoInfo.VideoType == Enum_VideoType.ZHSR &&
                ivt.CurrentVideoInfo.VideoType == Enum_VideoType.ZHSR &&
                videoPlayWindow.CurrentCameraInfo.Channel == ivt.CurrentTalkChannel.VideoTalkChannel
                )
            {
                //珠海三润设备特殊处理
                ivt.CurrentTalkSetting.ExecuteTalk = false;
                videoPlayWindow.CurrentVideoPlaySet.VideoTalkEnable = true;
                videoPlayWindow.VideoPlay(videoPlayWindow.CurrentVideoPlaySet);
            }
            return(bolResult);
        }