应用程序关闭时继续播放音乐
我正在开发一个应用程序在wp7和某些部分。
我开始使用mediaelement播放我的音乐文件,使用可用的功能(播放,暂停,下一首,上一首,搜索),并且一切顺利!
现在,我想让应用程序继续在用户出口或网页卸载或类似的情况下播放mediaelement时播放!
通知在abobe尝试
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
那我想要的是:
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;
}
}
问题是,当应用程序页卸载(不是在用户退出,第一个问题)backgroundaudioplayer获取名称和EnabledControls和所有员工,但它不播放,即使我按播放按钮(所以按钮不工作,第二问题)!
此外,我想控制我的应用程序旁边的播放器列表(上一个,下一个,播放,暂停),即使应用程序已关闭!
所有歌曲都位于孤立的位置,我在数据库中有歌名和文件名。 音轨如下所示:
AudioTrack audiotrack1 = new AudioTrack(new Uri(emp.EmployeeFile + ".mp3", UriKind.Relative), emp.EmployeeName, null, null, null, null, EnabledPlayerControls.All);
谢谢!
实现背景音频需要更多的工作。 请参阅本文以进行演练:http://msdn.microsoft.com/EN-US/library/windowsphone/develop/hh202978(v=vs.105).aspx
当心代理存在于另一个进程中,我不确定SqlCe是否支持从不同进程对同一个数据库的并发访问。 IMO与后台代理通信的最佳方式是由名为System.Threading.Mutex
保护的独立存储文件(例如播放列表)。