private void loadTrackSwap() { StatusColor = "Yellow"; Status = "正在连接视频跟踪服务……"; disposeTrackSwap(); try { var onlineStatus = CCTVInfoManager.Instance.GetOnlineStatus(_videoId); var vTrack = CCTVInfoManager.Instance.GetVideoTrack(_videoId); if (onlineStatus != null && onlineStatus.Online) { var staticInfo = CCTVInfoManager.Instance.GetStaticInfo(_videoId); if (staticInfo != null && vTrack != null && vTrack.Ip != null) { _swapClient = new TrackingDataSwapClient(vTrack.Ip, "8061", "8068"); _swapClient.TrackingStatusEvent += onStatus; IsAutoZoom = _swapClient.IsAutoZoom; Status = ""; } } else { IsVisible = false; } } catch (Exception ex) { Console.WriteLine(ex.ToString()); StatusColor = "Red"; Status = "视频跟踪服务连接失败!"; //Status = ""; //IsVisible = false; } }
void disposeTrackSwap() { if (_swapClient != null) { updateTrackStatusWhenDispose(); _swapClient.TrackingStatusEvent -= onStatus; _swapClient.Dispose(); } _swapClient = null; }