Ejemplo n.º 1
0
        public void ShuffleSecure(Item item)
        {
            Folder folder = item.BaseItem as Folder;
            if (folder != null)
            {
                Random rnd = new Random();
                PlayableItem playable;

                var playableChildren = folder.RecursiveChildren.Select(i => i as Media).Where(v => v != null && v.IsPlaylistCapable() && v.ParentalAllowed).OrderBy(i => rnd.Next());
                //if (playableChildren.Count() > 0) //be sure we found something to play
                {
                    playable = new PlayableMediaCollection<Media>(item.Name, playableChildren, folder.HasVideoChildren);
                    playable.QueueItem = false;
                    playable.PlayableItems = playableChildren.Select(i => i.Path);
                    foreach (var controller in Kernel.Instance.PlaybackControllers)
                    {
                        if (controller.CanPlay(playable.PlayableItems))
                        {
                            playable.PlaybackController = controller;
                            break;
                        }
                    }
                    playable.Play(null, false);
                }

            }
        }
Ejemplo n.º 2
0
        public void PlayUnwatchedSecure(Item item)
        {
            Folder folder = item.BaseItem as Folder;

            if (folder != null)
            {
                PlayableItem playable;

                var playableChildren = folder.RecursiveChildren.Select(i => i as Media).Where(v => v != null && v.ParentalAllowed && !v.PlaybackStatus.WasPlayed).OrderBy(v => v.Path);
                if (playableChildren.Count() > 0) //be sure we have something to play
                {
                    playable = new PlayableMediaCollection<Media>(item.Name, playableChildren);
                    playable.Play(null, false);
                }
            }
        }