I have figure out the solution.
PlayerState changes to PlayState.Stopped instead of PlayState.Paused
Changes in PlayTrack Method in AudioPlayer.cs
Changes in Application_Activated Method in App.xaml.cs
private void PlayTrack(BackgroundAudioPlayer player)
if (PlayState.Paused == player.PlayerState || PlayState.Stopped == player.PlayerState)
// If we're paused, we already have
// the track set, so just resume playing.
// Set which track to play. When the TrackReady state is received
// in the OnPlayStateChanged handler, call player.Play().
player.Track = _playList[currentTrackNumber];
private void Application_Activated(object sender, ActivatedEventArgs e)
if (PlayState.Stopped == BackgroundAudioPlayer.Instance.PlayerState || PlayState.Paused == BackgroundAudioPlayer.Instance.PlayerState)