// s双视频流 红外+普通 public MultiCam CreateCameraStream(string name, string ip, StreamType stype) { MultiCam mc = new MultiCam(); var ir = GetCamStream(stype); var normal = GetCamStream(stype); if (ir == null || normal == null) { return(null); } // 生成ir流实例 ir.SetMode(CamMode.IR); ir.SetName(name); ir.SetPath(ip); ir.SetIP(ip); // 生成普通流实例 normal.SetMode(CamMode.IR); normal.SetName(name); normal.SetPath(ip); normal.SetIP(ip); mc.Add(CamMode.IR, ir); mc.Add(CamMode.NORMAL, normal); cl.Add(mc); return(mc); }
public void SetCamStream(MultiCam mc) { runCheck = true; normalTimer = new Thread(normal_Tick); irTimer = new Thread(ir_Tick); normalTRun = true; irTRun = true; normalNeedReset = 0; irNeedReset = 0; foreach (var item in mc) { // 工厂的接口转成控件 var vc = item.Value as VlcCamera; multiPlayer.Add(item.Key, vc); //if (item.Key == CamMode.IR) RePlayMedia(item.Key, ""); ip = vc.GetIP(); // 生成ping线程 if (item.Key == CamMode.IR) { //Thread t = new Thread(CheckConnection); //t.Start(vc.GetIP()); } vc.vlcPlayer.Height = this.Height; v1.Height = this.Height; v2.Height = this.Height; vc.vlcPlayer.HorizontalAlignment = HorizontalAlignment.Stretch; vc.vlcPlayer.VerticalAlignment = VerticalAlignment.Stretch; var viewBox = vc.vlcPlayer.Content as Viewbox; viewBox.Stretch = System.Windows.Media.Stretch.Fill; } //aTimer.Start(); //(mc[CamMode.IR] as VlcCamera).vlcPlayer.SetValue(Grid.ColumnProperty, 1); //(mc[CamMode.NORMAL] as VlcCamera).vlcPlayer.SetValue(Grid.ColumnProperty, 0); this.v1.Children.Add((mc[CamMode.IR] as VlcCamera).vlcPlayer); this.v2.Children.Add((mc[CamMode.NORMAL] as VlcCamera).vlcPlayer); //v1.Width = this.Width / 2; //v2.Width = this.Width / 2; }