/// <summary> /// 添加新的视频监控播放 /// </summary> /// <param name="aMsg"></param> private void AddRTSP(DVRToken aToken) { RTSPViewer tmpViewer = GetViewer(aToken); if (tmpViewer != null) { // 调试测试时先不判断该条件 SelectViewer(tmpViewer); ReLayout(); return; } tmpViewer = GetFreeViewer(); if (tmpViewer == null) { GuiHelper.MsgBox("视频监控窗口已被占满,请关闭一些监控窗口..."); return; } UpdateInfo("开启监控" + aToken); tmpViewer.LinkToken(aToken); SelectViewer(tmpViewer); tmpViewer.StartPlay(); ReLayout(); }
/// <summary> /// 添加一个视频监控单元 /// </summary> /// <param name="aToken"></param> /// <returns></returns> public void AddVideoToken(DVRToken aToken) { this.Show(); this.Activate(); aToken.Url = GlobalCfg.GenRTSPUrl(aToken.TerminalId, aToken.LogicChn); this.AddRTSP(aToken); }
/// <summary> /// 根据终端编号以及通道号获取Viewer /// </summary> /// <param name="aToken"></param> /// <returns></returns> private RTSPViewer GetViewer(DVRToken aToken) { foreach (var tmpViewer in mViewers) { if (tmpViewer.IsPlaying && tmpViewer.EqualToken(aToken)) { return(tmpViewer); } } return(null); }