예제 #1
0
 private void Page_KeyDown(object sender, KeyRoutedEventArgs e)
 {
     if (mediaPlayerElement.Visibility == Visibility.Visible && e.Key == VirtualKey.Escape)
     {
         MediaPlayerHost.Pause(false);
         VideoPlayerGrid.Visibility = Visibility.Collapsed;
     }
 }
예제 #2
0
 private void Play_OnClick(object sender, RoutedEventArgs e)
 {
     if (VideoControls.Visibility == Visibility.Visible && mediaPlayerElement.Visibility == Visibility.Collapsed)
     {
         mediaPlayerElement.Visibility = Visibility.Visible;
     }
     MediaPlayerHost.Play();
 }
예제 #3
0
        private void Forward_Click(object sender, RoutedEventArgs e)
        {
            MediaPlayerHost.Position += AppSettings.Instance.ForwardStep;

            if (MediaPlayerHost.IsPaused)
            {
                MediaPlayerHost.SaveCurrentPosition(null, null, true);
            }
        }
예제 #4
0
 private void PlayButton_Click(object sender, RoutedEventArgs e)
 {
     if (episode == null)
     {
         return;
     }
     MediaPlayerHost.ResetLastOrderReceived();
     Playlist.CurrentPlaylist.PlayEpisode(episode);
 }
예제 #5
0
        private void PlayMenu_OnClick(object sender, RoutedEventArgs e)
        {
            var frameworkElement = sender as FrameworkElement;
            var entry            = frameworkElement?.DataContext as PlaylistEntry;

            if (entry != null)
            {
                MediaPlayerHost.ResetLastOrderReceived();
                Playlist.CurrentPlaylist.PlayEpisode(entry.Episode);
            }
        }
예제 #6
0
        private static void Timer_Tick(object sender, object e)
        {
            var diff  = DateTime.Now.Subtract(StartDate);
            var total = LocalSettings.Instance.SleepTimerDuration;

            if (diff.TotalMinutes > total)
            {
                MediaPlayerHost.Pause(false);
                Dispose();
            }
            OnTick?.Invoke();
        }
예제 #7
0
        private void Play_OnClick(object sender, EventArgs e)
        {
            var episode = DataContext as Episode;

            if (episode == null)
            {
                return;
            }

            MediaPlayerHost.ResetLastOrderReceived();

            Playlist.CurrentPlaylist.PlayEpisode(episode);
        }
예제 #8
0
        private async void Shell_OnLoaded(object sender, RoutedEventArgs e)
        {
            SyncPlaySpeedText();

            MediaPlayerHost.Volume = LocalSettings.Instance.Volume;

            Start();

            // Start player
            await MediaPlayerHost.StartAsync();

            if (LocalSettings.Instance.FavorRemainingDuration)
            {
                RemainingDuration.Visibility = Visibility.Visible;
                Duration.Visibility          = Visibility.Collapsed;
            }
            else
            {
                RemainingDuration.Visibility = Visibility.Collapsed;
                Duration.Visibility          = Visibility.Visible;
            }
        }
예제 #9
0
        public Shell()
        {
            InitializeComponent();
            GlobalStateManager.CurrentShell = this;

            //Wait Ring
            WaitRingManager.OnGetWaitRingRequired        = OnGetWaitRingRequired;
            WaitRingManager.OnSetWaitRingRequired        = OnSetWaitRingRequired;
            WaitRingManager.OnShowBlurBackgroundRequired = ShowBlurBackground;

            // Navigation
            GlobalStateManager.OnSelectedMenuIndexChanged     = OnSelectedMenuIndexChanged;
            GlobalStateManager.OnGetSelectedMenuIndexRequired = OnGetSelectedMenuIndexRequired;

            if (CoreTools.IsRunningOnMobile)
            {
                DisplayInformation.AutoRotationPreferences = DisplayOrientations.Portrait | DisplayOrientations.PortraitFlipped;
            }

            MediaPlayerHost.Attach(mediaPlayerElement);

            try
            {
                if (ApiInformation.IsTypePresent("Windows.Media.Casting.CastingDevicePicker"))
                {
                    castingPicker = new CastingDevicePicker();
                    castingPicker.Filter.SupportsVideo   = true;
                    castingPicker.Filter.SupportsAudio   = true;
                    castingPicker.CastingDeviceSelected += CastingPicker_CastingDeviceSelected;
                }
            }
            catch
            {
                // Picker not available. Hololens for instance
                Cast.IsEnabled = false;
            }
        }
예제 #10
0
 private void MediaControlSlider_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
 {
     MediaPlayerHost.ForcePosition(e.NewValue);
 }
예제 #11
0
 private void Pause_OnClick(object sender, RoutedEventArgs e)
 {
     MediaPlayerHost.Pause(true);
 }