private void FinishedLoading(object sender, EventArgs e) //Executed when MainWindow.ContentRendered is called { mediaPlayerView = new MediaPlayerView(); mediaBrowser = new MediaBrowserView(); //contentGrid.Children.Add(mediaBrowser); contentGrid.Children.Add(mediaPlayerView); mediaPlayerView.mediaPlayer.MediaOpened += MediaPlayer_MediaOpened; mediaPlayerView.mediaPlayer.MediaOpening += MediaPlayer_MediaOpening; }
public MediaPlayerGroupViewModel() { MediaPlayerView mediaPlayerView = new MediaPlayerView(); this.MediaOutput = mediaPlayerView; this.MediaControls = new MediaPlayerControlsView(); ((MediaPlayerControlsView)this.MediaControls).MediaPlayerView = mediaPlayerView; this.IsFullscreen = false; this.Timer.Tick += TimerTick; this.Timer.Interval = TimeSpan.FromMilliseconds(200); }
public MediaPlayerWindow() { View = new MediaPlayerView(); //must set the view first InitializeComponent(); if (mediaPlayerOptions != null) { mediaPlayerOptions.MediaPlayerWindow = this; } defaultReplayOffset = player.ReplayOffset; //can set ReplayOffset in XAML }
private async void btStart_Click(object sender, EventArgs e) { mmLog.Clear(); tcMain.SelectedIndex = 4; if (rbVideoFile.Checked) { ConfigureMediaPlayer(); } else { ConfigureVideoCapture(); } // add face detection if (cbFDEnabled.Checked) { FaceDetectionAdd(); } // add car counter if (cbCCEnabled.Checked) { CarCounterAdd(); } // add car counter if (cbPDEnabled.Checked) { PedestrianDetectionAdd(); } //this.MediaPlayer1.Video_Effects_Enabled = true; // this.MediaPlayer1.Video_Effects_Clear(); // this.MediaPlayer1.Video_Effects_Add(new VideoEffectMosaic(true, 500)); if (rbVideoFile.Checked) { MediaPlayerView.Show(); VideoCaptureView.Hide(); await MediaPlayer1.PlayAsync(); } else { MediaPlayerView.Hide(); VideoCaptureView.Show(); await VideoCapture1.StartAsync(); } }
/// <summary> /// 打开视频文件 /// </summary> public void OpenVideoAudioFile(string uri) { try { wordManage.ClearDocuments(); pPTManage.ClearDocuments(); excelManage.ClearDocuments(); if (this.mediaPlayerView == null) { this.mediaPlayerView = new MediaPlayerView(uri); } else { this.mediaPlayerView.OpenVideo(uri); } //加载UI事件(比如多媒体播放器) this.book_LoadUI(this.mediaPlayerView); } catch (Exception ex) { LogManage.WriteLog(this.GetType(), ex); } }
public void Play(IEnumerable <MessageViewModel> items, bool auto) { var news = new Dictionary <long, MediaPlayerItem>(); foreach (var message in items) { var container = Messages.ContainerFromItem(message) as ListViewItem; if (container == null) { continue; } var animation = message.GetAnimation(); if (animation == null) { continue; } if (animation.Local.IsDownloadingCompleted) { var root = container.ContentTemplateRoot as FrameworkElement; if (root is Grid grid) { root = grid.FindName("Bubble") as FrameworkElement; } var media = root.FindName("Media") as ContentControl; var panel = media.ContentTemplateRoot as Panel; if (message.Content is MessageText) { media = panel.FindName("Media") as ContentControl; panel = media.ContentTemplateRoot as Panel; } else if (message.Content is MessageGame) { panel = panel.FindName("Media") as Panel; } //else if (message.Media is TLMessageMediaGame) //{ // panel = panel.FindName("Media") as FrameworkElement; //} //else if (message.IsRoundVideo()) //{ // panel = panel.FindName("Inner") as FrameworkElement; //} if (panel is Grid final) { final.Tag = message; news[message.Id] = new MediaPlayerItem { File = animation, Container = final, Watermark = message.Content is MessageGame }; } } } foreach (var item in _old.Keys.Except(news.Keys).ToList()) { var presenter = _old[item].Presenter; if (presenter != null && presenter.MediaPlayer != null) { presenter.MediaPlayer.Source = null; presenter.MediaPlayer.Dispose(); presenter.MediaPlayer = null; } var container = _old[item].Container; if (container != null && presenter != null) { container.Children.Remove(presenter); } _old.Remove(item); } if (!auto) { return; } foreach (var item in news.Keys.Except(_old.Keys).ToList()) { if (_old.ContainsKey(item)) { continue; } var container = news[item].Container; if (container != null && container.Children.Count < 5) { var player = new MediaPlayer(); player.AutoPlay = true; player.IsMuted = auto; player.IsLoopingEnabled = true; player.CommandManager.IsEnabled = false; player.Source = MediaSource.CreateFromUri(new Uri("file:///" + news[item].File.Local.Path)); var presenter = new MediaPlayerView(); presenter.MediaPlayer = player; presenter.IsHitTestVisible = false; presenter.Constraint = container.Tag; news[item].Presenter = presenter; //container.Children.Insert(news[item].Watermark ? 2 : 2, presenter); container.Children.Add(presenter); } _old[item] = news[item]; } }
public void Play(IEnumerable <TLMessage> items, bool auto) { var news = new Dictionary <string, MediaPlayerItem>(); foreach (var message in items) { var container = Messages.ContainerFromItem(message) as ListViewItem; if (container == null) { continue; } var document = message.GetDocument(); if (document == null || !TLMessage.IsGif(document)) { continue; } var fileName = document.GetFileName(); if (File.Exists(FileUtils.GetTempFileName(fileName))) { var root = container.ContentTemplateRoot as FrameworkElement; if (root is Grid grid) { root = grid.FindName("Bubble") as FrameworkElement; } var media = root.FindName("Media") as ContentControl; var panel = media.ContentTemplateRoot as FrameworkElement; if (message.Media is TLMessageMediaWebPage) { media = panel.FindName("Media") as ContentControl; panel = media.ContentTemplateRoot as FrameworkElement; } else if (message.Media is TLMessageMediaGame) { panel = panel.FindName("Media") as FrameworkElement; } if (panel is Grid final) { news[FileUtils.GetTempFileUrl(fileName)] = new MediaPlayerItem { Container = final, Watermark = message.Media is TLMessageMediaGame }; } } } foreach (var item in _old.Keys.Except(news.Keys).ToList()) { var presenter = _old[item].Presenter; if (presenter != null && presenter.MediaPlayer != null) { presenter.MediaPlayer.Source = null; presenter.MediaPlayer.Dispose(); presenter.MediaPlayer = null; } var container = _old[item].Container; if (container != null && presenter != null) { container.Children.Remove(presenter); } _old.Remove(item); } if (!auto) { return; } foreach (var item in news.Keys.Except(_old.Keys).ToList()) { var container = news[item].Container; if (container != null && container.Children.Count < 5) { var player = new MediaPlayer(); player.AutoPlay = true; player.IsMuted = true; player.IsLoopingEnabled = true; player.CommandManager.IsEnabled = false; player.Source = MediaSource.CreateFromUri(new Uri(item)); var presenter = new MediaPlayerView(); presenter.MediaPlayer = player; presenter.IsHitTestVisible = false; presenter.Constraint = container.DataContext; news[item].Presenter = presenter; container.Children.Insert(news[item].Watermark ? 2 : 2, presenter); } _old.Add(item, news[item]); } }