Пример #1
0
 /// <summary>
 /// Changes current player position based on given amount and interval
 /// </summary>
 /// <param name="howMany">Amount of navigation intervals. Can be negative value.</param>
 /// <param name="interval">Navigation interval</param>
 public void Navigate(int howMany, NavigationInterval interval)
 {
     if (IsBackgroundTaskRunning && (MediaPlayer.CurrentState == Playing || MediaPlayer.CurrentState == Paused))
     {
         BackgroundMediaPlayer.SendMessageToBackground(new ValueSet {
             { Keys.NavigationAmount, howMany },
             { Keys.NavigationInterval, (int)interval }
         });
     }
 }
Пример #2
0
        public void Navigate(int howMany, NavigationInterval interval)
        {
            if (!(mediaPlayer.CurrentState == Playing || mediaPlayer.CurrentState == Paused))
            {
                return;
            }

            switch (interval)
            {
                case NavigationInterval.Second:
                    updatePosition(howMany);
                    break;
                case NavigationInterval.Minute:
                    updatePosition(howMany * 60);
                    break;
                case NavigationInterval.Hour:
                    updatePosition(howMany * 60 * 60);
                    break;
                case NavigationInterval.Track:
                case NavigationInterval.Episode:
                    StartTrackAt(playlist.CurrentTrackIndex + howMany);
                    break;
            }
        }