You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.7 KiB
95 lines
2.7 KiB
3 years ago
|
using EC.Entity.PublicModel;
|
||
|
using ECMonitor.Code;
|
||
|
using ECMonitor.Code.Models;
|
||
|
using ECMonitor.UC;
|
||
|
using ECMonitor.UC.Videos;
|
||
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Linq;
|
||
|
using System.Text;
|
||
|
using System.Threading.Tasks;
|
||
|
using System.Windows;
|
||
|
using System.Windows.Controls;
|
||
|
using System.Windows.Data;
|
||
|
using System.Windows.Documents;
|
||
|
using System.Windows.Input;
|
||
|
using System.Windows.Media;
|
||
|
using System.Windows.Media.Imaging;
|
||
|
using System.Windows.Navigation;
|
||
|
using System.Windows.Shapes;
|
||
|
|
||
|
namespace ECMonitor.Views
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// RtspMonitor.xaml 的交互逻辑
|
||
|
/// </summary>
|
||
|
public partial class RtspMonitor : UserControl
|
||
|
{
|
||
|
double _videoWidth = 600;
|
||
|
double _videoHeight = 450;
|
||
|
ShowVideoManager ShowVideo_Manager = new ShowVideoManager();
|
||
|
|
||
|
|
||
|
public RtspMonitor()
|
||
|
{
|
||
|
InitializeComponent();
|
||
|
}
|
||
|
|
||
|
private void btnStart_Click(object sender, RoutedEventArgs e)
|
||
|
{
|
||
|
CreateVideo("192.168.1.108");
|
||
|
CreateVideo("192.168.1.65");
|
||
|
}
|
||
|
|
||
|
private void CreateVideo(string cameraIp)
|
||
|
{
|
||
|
VideoShowModel videoShowModel =ShowVideo_Manager.GetVideoShowModel(cameraIp);
|
||
|
if(videoShowModel != null)
|
||
|
{
|
||
|
videoShowModel.UPDateTime();
|
||
|
return;
|
||
|
}
|
||
|
videoShowModel = ShowVideo_Manager.CreateVideoShowModel(cameraIp);
|
||
|
if (videoShowModel == null)
|
||
|
{
|
||
|
ShowLog("相机Ip:" +cameraIp +"不存在",true);
|
||
|
return;
|
||
|
}
|
||
|
UCRtspVlcVideo rtspVideo = new UCRtspVlcVideo(_videoWidth, _videoHeight,1);
|
||
|
rtspVideo.Name = videoShowModel.UCName;
|
||
|
rtspVideo.Width = 600;
|
||
|
rtspVideo.Height = 450;
|
||
|
|
||
|
this.panMain.Children.Add(rtspVideo);
|
||
|
|
||
|
rtspVideo.Play(videoShowModel.Camera);
|
||
|
|
||
|
this.panMain.RegisterName( rtspVideo.Name, rtspVideo);
|
||
|
}
|
||
|
|
||
|
private void btnStop_Click(object sender, RoutedEventArgs e)
|
||
|
{
|
||
|
var videoShow = ShowVideo_Manager.GetVideoShowModel("192.168.1.108");
|
||
|
if (videoShow != null)
|
||
|
{
|
||
|
|
||
|
UCRtspVlcVideo rtspVideo = (UCRtspVlcVideo)this.panMain.FindName(videoShow.UCName);
|
||
|
if (rtspVideo != null)
|
||
|
{
|
||
|
rtspVideo.Stop();
|
||
|
this.panMain.Children.Remove(rtspVideo);
|
||
|
ShowVideo_Manager.Remove(videoShow);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
}
|
||
|
public void ShowLog(string msg,bool isErr)
|
||
|
{
|
||
|
MessageBox.Show(msg);
|
||
|
}
|
||
|
}
|
||
|
}
|