I am developing an app in wp7 and in some part.
I start a mediaelement to play my music file from isolated storage, with available functions(play, pause, next, previous, seek) and all goes perfect!
Now i want to make the app continue playing on user-exit or page-unload or something like that when mediaelement already playing!
Notice in the abobe try the
list.playlist: is a list with audiotracks num_input: is the number of music file in list that will play, (get: from mediaelement) time_input: is the timespan from mediaelement before stop, (set: backgroundaudioplayer to start) play: is boolean variable, true if mediaelement plays Stop(): is function that stops mediaelement from playing
Thats i am trying is:
private void PhoneApplicationPage_Unloaded(object sender, RoutedEventArgs e)
{
if (play == true)
{
TimeSpan time_input = med.Position;
Stop();
BackgroundAudioPlayer.Instance.Close();
BackgroundAudioPlayer.Instance.Track = list.playlist[num_input];
BackgroundAudioPlayer.Instance.Position = time_input;
if (PlayState.Playing == BackgroundAudioPlayer.Instance.PlayerState) { BackgroundAudioPlayer.Instance.Pause(); }
else { BackgroundAudioPlayer.Instance.Play(); }
}
}
void Instance_PlayStateChanged(object sender, EventArgs e)
{
switch (BackgroundAudioPlayer.Instance.PlayerState)
{
case PlayState.Playing:
break;
case PlayState.Paused:
case PlayState.Stopped:
break;
}
}
The problem is that when the app page-unload (not on user exit, the first problem) the backgroundaudioplayer gets the name and the EnabledControls and all staff but it isn't playing even I press the play button(so buttons not working, second problem)!
Also i want to control the list of my app beside that player(previous, next, play, pause) even the app is closed!
All the songs are located in isolated and i have the song-name and file-name in database. The audio track looks like:
AudioTrack audiotrack1 = new AudioTrack(new Uri(emp.EmployeeFile + ".mp3", UriKind.Relative), emp.EmployeeName, null, null, null, null, EnabledPlayerControls.All);
Thanks!