/// <inheritdoc />
        public void SkipNext()
        {
            OnInteracting();

            VisualMarker marker = VisualMarkers
                                  .Where(m => m.IsSeekable && m.Time > Position && m.Time < MaxPosition)
                                  .OrderBy(m => m.Time).FirstOrDefault();

            OnSkipNext(marker);
        }
        /// <inheritdoc />
        public void SkipPrevious()
        {
            OnInteracting();

            VisualMarker marker = VisualMarkers
                                  .Where(m => m.IsSeekable && m.Time.Add(SkipPreviousThreshold) < Position && m.Time < MaxPosition)
                                  .OrderByDescending(m => m.Time).FirstOrDefault();

            OnSkipPrevious(marker);
        }
Exemplo n.º 3
0
 void LoadChapters()
 {
     chapterMarkers = new List <VisualMarker>();
     if (AutoCreateChaptersFromMarkers)
     {
         foreach (var chapter in MediaPlayer.Markers.Where(m => m.Type == ChapterMarkerType))
         {
             var marker = new VisualMarker()
             {
                 Text       = chapter.Text,
                 Time       = chapter.Time,
                 IsSeekable = true
             };
             if (MarkerStyle != null)
             {
                 marker.Style = MarkerStyle;
             }
             chapterMarkers.Add(marker);
             MediaPlayer.VisualMarkers.Add(marker);
         }
     }
     if (AutoCreateDefaultChapters)
     {
         var chapterLength = MediaPlayer.Duration.TotalSeconds / DefaultChapterCount;
         for (int i = 0; i <= DefaultChapterCount; i++)
         {
             var marker = new VisualMarker()
             {
                 Time       = TimeSpan.FromSeconds(chapterLength * i),
                 IsSeekable = true
             };
             chapterMarkers.Add(marker);
             MediaPlayer.VisualMarkers.Add(marker);
         }
     }
 }
Exemplo n.º 4
0
 internal MediaPlayerMarkerActionEventArgs(VisualMarker marker)
 {
     Marker = marker;
 }
Exemplo n.º 5
0
 /// <inheritdoc />
 protected override void OnSkipNext(VisualMarker marker)
 {
     MediaPlayer.SkipAhead(marker != null ? GetMediaPlayerPosition(marker.Time) : MediaPlayer.LivePosition.GetValueOrDefault(MediaPlayer.EndTime));
 }
Exemplo n.º 6
0
 /// <inheritdoc />
 protected override void OnSkipPrevious(VisualMarker marker)
 {
     MediaPlayer.SkipBack(marker != null ? GetMediaPlayerPosition(marker.Time) : MediaPlayer.StartTime);
 }
 /// <summary>
 /// Notifies the subclass to skip ahead to the next chapter/marker
 /// </summary>
 /// <param name="marker">The marker to seek to. Null if to the end.</param>
 protected abstract void OnSkipNext(VisualMarker marker);
 /// <summary>
 /// Notifies the subclass to skip back to the previous chapter/marker
 /// </summary>
 /// <param name="marker">The marker to seek to. Null if to the beginning.</param>
 protected abstract void OnSkipPrevious(VisualMarker marker);
 void LoadChapters()
 {
     chapterMarkers = new List<VisualMarker>();
     if (AutoCreateChaptersFromMarkers)
     {
         foreach (var chapter in MediaPlayer.Markers.Where(m => m.Type == ChapterMarkerType))
         {
             var marker = new VisualMarker()
             {
                 Text = chapter.Text,
                 Time = chapter.Time,
                 IsSeekable = true
             };
             if (MarkerStyle != null) marker.Style = MarkerStyle;
             chapterMarkers.Add(marker);
             MediaPlayer.VisualMarkers.Add(marker);
         }
     }
     if (AutoCreateDefaultChapters)
     {
         var chapterLength = MediaPlayer.Duration.TotalSeconds / DefaultChapterCount;
         for (int i = 0; i <= DefaultChapterCount; i++)
         {
             var marker = new VisualMarker()
             {
                 Time = TimeSpan.FromSeconds(chapterLength * i),
                 IsSeekable = true
             };
             chapterMarkers.Add(marker);
             MediaPlayer.VisualMarkers.Add(marker);
         }
     }
 }
 /// <inheritdoc /> 
 protected override void OnSkipNext(VisualMarker marker)
 {
     MediaPlayer.SkipAhead(marker != null ? GetMediaPlayerPosition(marker.Time) : MediaPlayer.LivePosition.GetValueOrDefault(MediaPlayer.EndTime));
 }
 /// <inheritdoc /> 
 protected override void OnSkipPrevious(VisualMarker marker)
 {
     MediaPlayer.SkipBack(marker != null ? GetMediaPlayerPosition(marker.Time) : MediaPlayer.StartTime);
 }
 internal MediaPlayerMarkerActionEventArgs(VisualMarker marker)
 {
     Marker = marker;
 }