コード例 #1
0
 void SetFullScreen(PrimaryPlayerDisplayMode currentMode)
 {
     if (!_view.IsFullScreenMode)
     {
         _view.TryEnterFullScreenMode();
     }
 }
コード例 #2
0
        void SetDisplayMode(PrimaryPlayerDisplayMode old, PrimaryPlayerDisplayMode mode)
        {
            var currentMode = old;

            switch (mode)
            {
            case PrimaryPlayerDisplayMode.Close:
                SetClose(currentMode);
                break;

            case PrimaryPlayerDisplayMode.Fill:
                SetFill(currentMode);
                break;

            case PrimaryPlayerDisplayMode.WindowInWindow:
                SetWindowInWindow(currentMode);
                break;

            case PrimaryPlayerDisplayMode.FullScreen:
                SetFullScreen(currentMode);
                break;

            case PrimaryPlayerDisplayMode.CompactOverlay:
                SetCompactOverlay(currentMode);
                break;

            default:
                break;
            }
        }
コード例 #3
0
 void SetCompactOverlay(PrimaryPlayerDisplayMode currentMode)
 {
     if (_view.IsViewModeSupported(ApplicationViewMode.CompactOverlay))
     {
         if (_view.ViewMode == ApplicationViewMode.Default)
         {
             _ = _view.TryEnterViewModeAsync(ApplicationViewMode.Default);
         }
     }
 }
コード例 #4
0
        void SetWindowInWindow(PrimaryPlayerDisplayMode currentMode)
        {
            if (_view.ViewMode == ApplicationViewMode.CompactOverlay)
            {
                _ = _view.TryEnterViewModeAsync(ApplicationViewMode.Default);
            }

            if (_view.IsFullScreenMode &&
                ApplicationView.PreferredLaunchWindowingMode != ApplicationViewWindowingMode.FullScreen
                )
            {
                //_view.ExitFullScreenMode();
            }
        }
コード例 #5
0
        void SetClose(PrimaryPlayerDisplayMode currentMode)
        {
            if (_view.ViewMode == ApplicationViewMode.CompactOverlay)
            {
                _ = _view.TryEnterViewModeAsync(ApplicationViewMode.Default);
            }

            if (_view.IsFullScreenMode &&
                ApplicationView.PreferredLaunchWindowingMode != ApplicationViewWindowingMode.FullScreen)
            {
                //_view.ExitFullScreenMode();
            }

            _navigationService.NavigateAsync(nameof(BlankPage));
        }
コード例 #6
0
        public async Task CloseAsync()
        {
            if (DisplayMode == PrimaryPlayerDisplayMode.Close)
            {
                return;
            }

            await PlaylistPlayer.ClearAsync();

            LastNavigatedPageName  = null;
            _lastPlayedDisplayMode = DisplayMode == PrimaryPlayerDisplayMode.Close ? _lastPlayedDisplayMode : DisplayMode;
            DisplayMode            = PrimaryPlayerDisplayMode.Close;
            _view.Title            = string.Empty;
            _restoreNavigationManager.ClearCurrentPlayerEntry();
        }
コード例 #7
0
 void SetCompactOverlay(PrimaryPlayerDisplayMode currentMode)
 {
     if (_view.IsViewModeSupported(ApplicationViewMode.CompactOverlay))
     {
         if (_view.ViewMode == ApplicationViewMode.Default)
         {
             var opt = ViewModePreferences.CreateDefault(ApplicationViewMode.CompactOverlay);
             opt.CustomSize = new Windows.Foundation.Size(500, 280);
             _ = _view.TryEnterViewModeAsync(ApplicationViewMode.CompactOverlay, opt);
         }
         else
         {
             _ = _view.TryEnterViewModeAsync(ApplicationViewMode.Default);
         }
     }
 }
コード例 #8
0
        public PrimaryViewPlayerManager(IScheduler scheduler,
                                        [Unity.Attributes.Dependency("PrimaryPlayerNavigationService")] Lazy <INavigationService> navigationServiceLazy
                                        )
        {
            _view                  = ApplicationView.GetForCurrentView();
            _scheduler             = scheduler;
            _navigationServiceLazy = navigationServiceLazy;
            _navigationService     = null;

            this.ObserveProperty(x => x.DisplayMode, isPushCurrentValueAtFirst: false)
            .Subscribe(x =>
            {
                SetDisplayMode(_prevDisplayMode, x);
                _prevDisplayMode = x;
            });
        }
コード例 #9
0
        public PrimaryViewPlayerManager(
            ILoggerFactory loggerFactory,
            IScheduler scheduler,
            RestoreNavigationManager restoreNavigationManager,
            HohoemaPlaylistPlayer hohoemaPlaylistPlayer
            )
        {
            _view      = ApplicationView.GetForCurrentView();
            _logger    = loggerFactory.CreateLogger <PrimaryViewPlayerManager>();
            _scheduler = scheduler;
            //_navigationServiceLazy = navigationServiceLazy;
            _restoreNavigationManager = restoreNavigationManager;
            PlaylistPlayer            = hohoemaPlaylistPlayer;
            _navigationService        = null;

            this.ObserveProperty(x => x.DisplayMode, isPushCurrentValueAtFirst: false)
            .Subscribe(x =>
            {
                SetDisplayMode(_prevDisplayMode, x);
                _prevDisplayMode = x;
                IsFullScreen     = x == PrimaryPlayerDisplayMode.FullScreen;
                IsCompactOverlay = x == PrimaryPlayerDisplayMode.CompactOverlay;
            });
        }
コード例 #10
0
 public void ShowWithCompactOverlay()
 {
     DisplayMode = PrimaryPlayerDisplayMode.CompactOverlay;
 }
コード例 #11
0
 public void ShowWithFullScreen()
 {
     DisplayMode = PrimaryPlayerDisplayMode.FullScreen;
 }
コード例 #12
0
 public void ShowWithWindowInWindow()
 {
     DisplayMode = PrimaryPlayerDisplayMode.WindowInWindow;
 }
コード例 #13
0
 public void ShowWithFill()
 {
     DisplayMode = PrimaryPlayerDisplayMode.Fill;
 }
コード例 #14
0
 public void Close()
 {
     _lastPlayedDisplayMode = DisplayMode == PrimaryPlayerDisplayMode.Close ? _lastPlayedDisplayMode : DisplayMode;
     DisplayMode            = PrimaryPlayerDisplayMode.Close;
     _view.Title            = "";
 }