private void UserControl_UnLoaded(object sender, RoutedEventArgs e) { Console.WriteLine("CVideo:UserControl_UnLoaded"); if (isFullScreen) { mqServer.SendMsg(new VideoControlMessage(currDControl.id, "fullScreenExit")); } if (isPlaying) { Video_Pause(); } else { Video_Pause_ByMessage(); } mqServer.sendMsgEvent -= Client_ReceiveMsgEvent; timelineSliderTimer.Tick -= new EventHandler(TimelineSliderTimer_Tick); timelineSliderTimer.Stop(); hideVideoConsoleTimer.Tick -= new EventHandler(HideVideoConsoleTimer_Tick); hideVideoConsoleTimer.Stop(); vlcControl.SourceProvider.MediaPlayer.EndReached -= Video_Element_MediaEnded; Video_Element_Grid.PreviewMouseLeftButtonDown -= Video_Element_Grid_MouseLeftButtonDown; Video_Element_Grid.PreviewMouseMove -= Video_Element_Grid_MouseMove; Video_Element_Grid.PreviewMouseLeftButtonUp -= TimelineSlider_MouseLeftButtonUp; Video_Console.PreviewMouseLeftButtonUp -= Video_Console_MouseUp; TimelineSlider.PreviewMouseLeftButtonDown -= TimelineSlider_MouseDown; TimelineSlider.PreviewMouseLeftButtonUp -= TimelineSlider_MouseUp; TimelineSlider.PreviewTouchDown -= TimelineSlider_TouchDown; TimelineSlider.PreviewTouchUp -= TimelineSlider_TouchUp; Loaded -= UserControl_Loaded; Unloaded -= UserControl_UnLoaded; Play_Button.Click -= Play_Button_Click; Fullscreen_Button.Click -= Fullscreen_Button_Click; vlcControl.Background = null; vlcControl?.Dispose(); Video_Element.Content = null; //logo 关闭按钮 播放按钮 全屏按钮 时间线 Video_Logo.Source = null; closebtn.Background = null; Play_Button.Background = null; Fullscreen_Button.Background = null; Video_Title = null; playedTime = null; totalTime = null; Main_Grid.Children.Clear(); this.Resources.Clear(); GC.Collect(); }
/* * 音频播放 */ private void Video_Play() { Video_Play_ByMessage(); //暂停所有视频 mqServer.SendMsg(new VideoControlMessage(currDControl.id, "play")); }