Esempio n. 1
0
 private void UnsubscribePlayerEvents(LiteTubePlayer tubePlayer)
 {
     tubePlayer.MediaOpened          -= PlayerOnMediaOpened;
     tubePlayer.CurrentStateChanged  -= OnCurrentStateChanged;
     tubePlayer.IsFullScreenChanged  -= PlayerIsFullScreenChanged;
     tubePlayer.IsInteractiveChanged -= OnInteractiveChanged;
 }
Esempio n. 2
0
 private void SubscribePlayerEvents(LiteTubePlayer tubePlayer)
 {
     tubePlayer.IsFullScreenChanged  += PlayerIsFullScreenChanged;
     tubePlayer.MediaOpened          += PlayerOnMediaOpened;
     tubePlayer.MediaFailed          += TubePlayerOnMediaFailed;
     tubePlayer.CurrentStateChanged  += OnCurrentStateChanged;
     tubePlayer.IsInteractiveChanged += OnInteractiveChanged;
     tubePlayer.Paused += Player_Paused;
 }
Esempio n. 3
0
 private void UnsubscribePlayerEvents(LiteTubePlayer tubePlayer)
 {
     tubePlayer.MediaOpened           -= PlayerOnMediaOpened;
     tubePlayer.MediaEnded            -= OnMediaEnded;
     tubePlayer.CurrentStateChanged   -= OnCurrentStateChanged;
     tubePlayer.IsFullScreenChanged   -= PlayerIsFullScreenChanged;
     tubePlayer.IsSkipNextChanged     -= OnSkipNextChanged;
     tubePlayer.IsSkipPreviousChanged -= OnSkipPreviousChanged;
 }
        public static void PlayerIsFullScreenChanged(PhoneApplicationPage page, LiteTubePlayer player)
        {
            //_isFullScreen = player.IsFullScreen;
            if (player.IsFullScreen)
            {
                page.SupportedOrientations = SupportedPageOrientation.Landscape;
                page.Orientation           = PageOrientation.LandscapeLeft;
                return;
            }

            page.SupportedOrientations = SupportedPageOrientation.Portrait;
            page.Orientation           = PageOrientation.Portrait;
        }
Esempio n. 5
0
        private void RestorePlayer()
        {
            var viewModel = DataContext as VideoPageViewModel;

            if (viewModel == null)
            {
                return;
            }

            //новый
            player = new LiteTubePlayer
            {
                IsFullScreenVisible         = true,
                IsFullScreenEnabled         = true,
                VerticalAlignment           = VerticalAlignment.Center,
                IsSkipAheadVisible          = true,
                IsSkipBackVisible           = true,
                SkipAheadInterval           = TimeSpan.FromSeconds(10),
                SkipBackInterval            = TimeSpan.FromSeconds(10),
                AllowMediaStartingDeferrals = false,
                AutoPlay                 = _autoPlay,
                VideoTitle               = viewModel.Title,
                ChannelTitle             = viewModel.ChannelTitle,
                RelatedItems             = viewModel.RelatedVideosViewModel.Items,
                ItemClickCommand         = viewModel.RelatedVideosViewModel.ItemClickCommand,
                LoadMoreCommand          = viewModel.RelatedVideosViewModel.LoadMoreCommand,
                VideoQualityItems        = viewModel.VideoQualities,
                SelectedVideoQualityItem = viewModel.SelectedVideoQualityItem,
                IsLive      = viewModel.IsLive,
                DataContext = DataContext
            };

            var binding = new Binding {
                Source = viewModel, Path = new PropertyPath("VideoUri")
            };

            player.SetBinding(LiteTubePlayer.SourceProperty, binding);

            var binding1 = new Binding {
                Source = viewModel, Path = new PropertyPath("SelectedVideoQualityItem"), Mode = BindingMode.TwoWay
            };

            player.SetBinding(LiteTubePlayer.SelectedVideoQualityItemProperty, binding1);

            SubscribePlayerEvents(player);

            if (_playerState != null)
            {
                player.RestoreMediaState(_playerState);
            }

            var oldPlayer = playerBg.Children.FirstOrDefault(x => x is LiteTubePlayer);

            if (oldPlayer != null)
            {
                playerBg.Children.Remove(oldPlayer);
            }

            playerBg.Children.Add(player);

            if (_isFullScreen)
            {
                SetPlayerFullScreenState();
            }
            else
            {
                SetPlayerNormalState();
            }
        }
Esempio n. 6
0
        private void RestorePlayer()
        {
            var viewModel = DataContext as PlaylistVideoPageViewModel;

            if (viewModel == null)
            {
                return;
            }

            //новый
            player = new LiteTubePlayer
            {
                Name = "player",
                IsFullScreenVisible         = true,
                IsFullScreenEnabled         = true,
                VerticalAlignment           = VerticalAlignment.Center,
                IsSkipAheadVisible          = true,
                IsSkipBackVisible           = true,
                SkipAheadInterval           = TimeSpan.FromSeconds(10),
                SkipBackInterval            = TimeSpan.FromSeconds(10),
                IsSkipNextVisible           = true,
                IsSkipPreviousVisible       = true,
                AllowMediaStartingDeferrals = false,
                AutoPlay = _autoPlay,
                Position = TimeSpan.FromSeconds(0),
                IsLive   = viewModel.VideoViewModel.IsLive
            };

            var binding = new Binding {
                Source = viewModel, Path = new PropertyPath("VideoViewModel.VideoUri")
            };

            player.SetBinding(LiteTubePlayer.SourceProperty, binding);

            binding = new Binding {
                Source = viewModel, Path = new PropertyPath("VideoViewModel.Title")
            };
            player.SetBinding(LiteTubePlayer.VideoTitleProperty, binding);

            binding = new Binding {
                Source = viewModel, Path = new PropertyPath("VideoViewModel.ChannelTitle")
            };
            player.SetBinding(LiteTubePlayer.ChannelTitleProperty, binding);

            binding = new Binding {
                Source = viewModel, Path = new PropertyPath("PlaylistVideosViewModel.Items")
            };
            player.SetBinding(LiteTubePlayer.RelatedItemsProperty, binding);

            binding = new Binding {
                Source = viewModel, Path = new PropertyPath("PlaylistVideosViewModel.ItemClickCommand")
            };
            player.SetBinding(LiteTubePlayer.ItemClickCommandProperty, binding);

            binding = new Binding {
                Source = viewModel, Path = new PropertyPath("PlaylistVideosViewModel.LoadMoreCommand")
            };
            player.SetBinding(LiteTubePlayer.LoadMoreCommandProperty, binding);

            binding = new Binding {
                Source = viewModel, Path = new PropertyPath("VideoViewModel.ImagePath")
            };
            player.SetBinding(LiteTubePlayer.PosterSourceProperty, binding);

            binding = new Binding {
                Source = viewModel, Path = new PropertyPath("VideoViewModel.VideoQualities")
            };
            player.SetBinding(LiteTubePlayer.VideoQualityItemsProperty, binding);

            var binding1 = new Binding {
                Source = viewModel, Path = new PropertyPath("VideoViewModel.SelectedVideoQualityItem"), Mode = BindingMode.TwoWay
            };

            player.SetBinding(LiteTubePlayer.SelectedVideoQualityItemProperty, binding1);

            playerBg.Children.Clear();
            playerBg.Children.Add(player);

            SubscribePlayerEvents(player);
            player.RestoreMediaState(_playerState);

            if (_isFullScreen)
            {
                SetPlayerFullScreenState();
            }
            else
            {
                SetPlayerNormalState();
            }
        }