Esempio n. 1
0
        /// <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();
        }
Esempio n. 2
0
 /// <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);
 }
Esempio n. 3
0
        /// <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);
        }