Esempio n. 1
0
        void _apiWebSocket_PlaystateCommand(object sender, PlaystateRequestEventArgs e)
        {
            if (_session.CurrentUser == null)
            {
                OnAnonymousRemoteControlCommand();
                return;
            }

            var player = _playbackManager.MediaPlayers
                         .FirstOrDefault(i => i.PlayState != PlayState.Idle);

            if (player == null)
            {
                return;
            }

            var request = e.Request;

            switch (request.Command)
            {
            case PlaystateCommand.Pause:
                player.Pause();
                break;

            case PlaystateCommand.Stop:
                player.Stop();
                break;

            case PlaystateCommand.Unpause:
                player.UnPause();
                break;

            case PlaystateCommand.Seek:
                player.Seek(e.Request.SeekPositionTicks ?? 0);
                break;

            case PlaystateCommand.PreviousTrack:
            {
                player.GoToPreviousTrack();
                break;
            }

            case PlaystateCommand.NextTrack:
            {
                player.GoToNextTrack();
                break;
            }
            }
        }
        void _apiWebSocket_PlaystateCommand(object sender, PlaystateRequestEventArgs e)
        {
            if (_session.CurrentUser == null)
            {
                OnAnonymousRemoteControlCommand();
                return;
            }

            var player = _playbackManager.MediaPlayers
              .FirstOrDefault(i => i.PlayState != PlayState.Idle);

            if (player == null)
            {
                return;
            }

            var request = e.Request;

            switch (request.Command)
            {
                case PlaystateCommand.Pause:
                    player.Pause();
                    break;
                case PlaystateCommand.Stop:
                    player.Stop();
                    break;
                case PlaystateCommand.Unpause:
                    player.UnPause();
                    break;
                case PlaystateCommand.Seek:
                    player.Seek(e.Request.SeekPositionTicks ?? 0);
                    break;
                case PlaystateCommand.PreviousTrack:
                    {
                        player.GoToPreviousTrack();
                        break;
                    }
                case PlaystateCommand.NextTrack:
                    {
                        player.GoToNextTrack();
                        break;
                    }
            }
        }