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); }
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); }