I have figure out the solution.
on lockScreen,
PlayerState changes to PlayState.Stopped instead of PlayState.Paused
SOLUTION:
Changes in PlayTrack Method in AudioPlayer.cs
Code:
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.
player.Play();
}
else
{
// Set which track to play. When the TrackReady state is received
// in the OnPlayStateChanged handler, call player.Play().
player.Track = _playList[currentTrackNumber];
}
}
Changes in Application_Activated Method in App.xaml.cs
Code:
private void Application_Activated(object sender, ActivatedEventArgs e)
{
if (PlayState.Stopped == BackgroundAudioPlayer.Instance.PlayerState || PlayState.Paused == BackgroundAudioPlayer.Instance.PlayerState)
{
BackgroundAudioPlayer.Instance.Play();
}
}