private bool CallPlayMediaUsingMediaCollection(MediaCenterEnvironment mediaCenterEnvironment, PlayableItem playable) { var coll = new MediaCollection(); // Create a MediaCollectionItem for each file to play if (playable.HasMediaItems) { PlaybackControllerHelper.PopulateMediaCollectionUsingMediaItems(this, coll, playable); } else { PlaybackControllerHelper.PopulateMediaCollectionUsingFiles(coll, playable); } // Set starting position if we're resuming if (playable.Resume) { var playstate = playable.MediaItems.First().PlaybackStatus; coll.CurrentIndex = playstate.PlaylistPosition; coll[playstate.PlaylistPosition].Start = new TimeSpan(playstate.PositionTicks); } CurrentMediaCollection = coll; bool success = PlaybackControllerHelper.CallPlayMedia(mediaCenterEnvironment, MediaType.MediaCollection, CurrentMediaCollection, false); if (!success) { CurrentMediaCollection = null; } return(success); }
private void QueuePlayableItemIntoMediaCollection(PlayableItem playable) { try { // Create a MediaCollectionItem for each file to play if (playable.HasMediaItems) { PlaybackControllerHelper.PopulateMediaCollectionUsingMediaItems(this, CurrentMediaCollection, playable); } else { PlaybackControllerHelper.PopulateMediaCollectionUsingFiles(CurrentMediaCollection, playable); } } catch (Exception ex) { OnErrorPlayingItem(playable, ex); } }