private async void BreakManager_BreakEnded(MediaBreakManager sender, MediaBreakEndedEventArgs args) { // Update UI to show that the MediaBreak is no longer playing await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => statusTextBlock.Text = ""); args.MediaBreak.CanStart = false; }
// <SnippetBreakStarted> private async void BreakManager_BreakStarted(MediaBreakManager sender, MediaBreakStartedEventArgs args) { MediaBreak currentBreak = sender.CurrentBreak; var currentIndex = currentBreak.PlaybackList.CurrentItemIndex; var itemCount = currentBreak.PlaybackList.Items.Count; await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => statusTextBlock.Text = $"Playing ad {currentIndex + 1} of {itemCount}"); }
private void BreakManager_BreaksSeekedOver(MediaBreakManager sender, MediaBreakSeekedOverEventArgs args) { if (args.SeekedOverBreaks.Count > 1 && args.NewPosition.TotalMinutes > args.OldPosition.TotalMinutes && args.NewPosition.TotalMinutes - args.OldPosition.TotalMinutes < 10.0) { _mediaPlayer.BreakManager.PlayBreak(args.SeekedOverBreaks[0]); } }
private async void BreakManager_BreakSkipped(MediaBreakManager sender, MediaBreakSkippedEventArgs args) { // Update UI to show that the MediaBreak is no longer playing await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => statusTextBlock.Text = ""); MediaPlaybackItem currentItem = _mediaPlayer.Source as MediaPlaybackItem; if (!(currentItem.BreakSchedule.PrerollBreak is null) && currentItem.BreakSchedule.PrerollBreak == args.MediaBreak) { MediaBreak mediaBreak = new MediaBreak(MediaBreakInsertionMethod.Interrupt, TimeSpan.FromMinutes(10)); mediaBreak.PlaybackList.Items.Add(new MediaPlaybackItem(MediaSource.CreateFromUri(new Uri("ms-appx:///Assets/ladybug.wmv")))); currentItem.BreakSchedule.InsertMidrollBreak(mediaBreak); } }