diff --git a/FoxTube/Controls/VideoPlayer.xaml.cs b/FoxTube/Controls/VideoPlayer.xaml.cs index 6f8e8ee..3e639f4 100644 --- a/FoxTube/Controls/VideoPlayer.xaml.cs +++ b/FoxTube/Controls/VideoPlayer.xaml.cs @@ -252,6 +252,7 @@ namespace FoxTube systemControls.DisplayUpdater.Update(); systemControls.ButtonPressed += SystemControls_Engaged; + systemControls.IsEnabled = true; t.Start(); @@ -286,21 +287,25 @@ namespace FoxTube } } - private void SystemControls_Engaged(SystemMediaTransportControls sender, SystemMediaTransportControlsButtonPressedEventArgs args) + private async void SystemControls_Engaged(SystemMediaTransportControls sender, SystemMediaTransportControlsButtonPressedEventArgs args) { - switch (args.Button) + await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { - case SystemMediaTransportControlsButton.Pause: - videoSource.Pause(); - break; + switch (args.Button) + { + case SystemMediaTransportControlsButton.Pause: + videoSource.Pause(); + break; - case SystemMediaTransportControlsButton.Play: - videoSource.Play(); - break; + case SystemMediaTransportControlsButton.Play: + videoSource.Play(); + break; - case SystemMediaTransportControlsButton.Next: - break; - } + case SystemMediaTransportControlsButton.Next: + NextClicked.Invoke(this, null); + break; + } + }); } private async void SeekTimer_Elapsed(object sender, ElapsedEventArgs e) @@ -335,8 +340,7 @@ namespace FoxTube { if(miniView) { - Height = Width * (videoSource.NaturalVideoHeight / videoSource.NaturalVideoWidth); - ApplicationView.GetForCurrentView().TryResizeView(new Size(Width, Height)); + Height = Window.Current.Bounds.Height; Debug.WriteLine("Video player aspect ratio has been corrected."); } } @@ -547,7 +551,8 @@ namespace FoxTube play.Content = "\xE102"; touchPlay.Content = "\xE102"; - + + systemControls.PlaybackStatus = MediaPlaybackStatus.Paused; break; case MediaElementState.Paused: @@ -559,6 +564,8 @@ namespace FoxTube play.Content = "\xE102"; touchPlay.Content = "\xE102"; + + systemControls.PlaybackStatus = MediaPlaybackStatus.Paused; break; case MediaElementState.Playing: @@ -570,10 +577,13 @@ namespace FoxTube play.Content = "\xE103"; touchPlay.Content = "\xE103"; + + systemControls.PlaybackStatus = MediaPlaybackStatus.Playing; break; default: bufferingBar.Visibility = Visibility.Collapsed; + systemControls.PlaybackStatus = MediaPlaybackStatus.Closed; break; } } @@ -625,6 +635,8 @@ namespace FoxTube touchBack10.FontSize = touchFwd30.FontSize = 40; touchPlay.FontSize = 100; Methods.MainPage.Fullscreen(false); + + Height = double.NaN; } } @@ -720,6 +732,7 @@ namespace FoxTube private void close_Click(object sender, RoutedEventArgs e) { + systemControls.IsEnabled = false; Methods.MainPage.CloseVideo(); }