public MusicPlayerController(IMusicPlayerControllerHandler playSession)
        {
            _playerSession             = playSession;
            _playbackStartedPreviously = false;

            #region musicplayer
            _musicPlayer = MusicPlayer.Instance;
            _musicPlayer.CurrentPlayer.SeekCompleted       += CurrentPlayer_SeekCompleted;
            _musicPlayer.CurrentPlayer.MediaFailed         += CurrentPlayer_MediaFailed;
            _musicPlayer.CurrentPlayer.CurrentStateChanged += CurrentPlayer_CurrentStateChanged;
            _musicPlayer.CurrentPlayer.MediaOpened         += CurrentPlayer_MediaOpened;
            _musicPlayer.OnReceiveMessage += _musicPlayer_OnReceiveMessage;
            #endregion
        }
        public MusicPlayerController(IMediaPlayer musicPlayer)
        {
            foregroundAppState = AppState.Active;
            _player            = musicPlayer;
            _controllerHandler = new MusicPlayerControllerHandler();

            #region musicplayer
            _player.SeekCompleted       += _player_SeekCompleted;
            _player.MediaOpened         += _player_MediaOpened;
            _player.MediaEnded          += _player_MediaEnded;
            _player.MediaFailed         += _player_MediaFailed;
            _player.CurrentStateChanged += _player_CurrentStateChanged;
            #endregion

            #region stmc

            _mtControls                = new MediaTransportControls(_player.SystemMediaTransportControls);
            _mtControls.IsEnabled      = _mtControls.IsPauseEnabled = _mtControls.IsPlayEnabled = true;
            _mtControls.ButtonPressed += _mtControls_ButtonPressed;
            #endregion

            _playlist = new PlayList();
        }
 public void SetupHandler(IMusicPlayerControllerHandler handler)
 {
     //todo
 }