/// <summary>
        /// Продолжить или приостановить воспроизведение.
        /// </summary>
        public async void ResumePause()
        {
            if (!await HasTracks())
            {
#if DEBUG
                Debug.WriteLine("PlaybackManager has empty tracks list. Cant play/pause.");
#endif
            }
            switch (_player.CurrentState)
            {
            case MediaPlayerState.Playing:
                _player.Pause();
                break;

            case MediaPlayerState.Paused:
                _player.Play();
                break;

            case MediaPlayerState.Closed:
                PlayTrackFromID(CurrentTrackID);
                break;

            case MediaPlayerState.Stopped:
                PlayTrackFromID(CurrentTrackID);
                break;
            }
            AudioTask.SendMessageToForeground(AppConstants.PlayerPauseResume, null);
        }
 /// <summary>
 /// Вызывается при окончании воспроизведения мультимедиа проигрывателем.
 /// </summary>
 private void Player_MediaEnded(MediaPlayer sender, object args)
 {
     AudioTask.SendMessageToForeground(AppConstants.PlayerMediaEnded, null);
     if (false)
     {
         _player.Play();
         return;
     }
     NextTrack();
 }
 /// <summary>
 /// Вызывается при окончании буферизации мультимедиа проигрывателем.
 /// </summary>
 private void Player_BufferingEnded(MediaPlayer sender, object args)
 {
     AudioTask.SendMessageToForeground(AppConstants.PlayerBufferingEnded, null);
 }
 /// <summary>
 /// Вызывается при ошибке при воспроизведении мультимедиа проигрывателем.
 /// </summary>
 private void Player_MediaFailed(MediaPlayer sender, MediaPlayerFailedEventArgs args)
 {
     AudioTask.SendMessageToForeground(AppConstants.PlayerMediaFailed, null);
 }
 /// <summary>
 /// Вызывается при открытии мультимедиа проигрывателем.
 /// </summary>
 private void Player_MediaOpened(MediaPlayer sender, object args)
 {
     _player.Play();
     AudioTask.SendMessageToForeground(AppConstants.PlayerMediaOpened, null);
 }