我正在 wp7 和某些部分开发一个应用程序。
我启动了一个 mediaelement 来从隔离存储中播放我的音乐文件,具有可用的功能(播放、暂停、下一个、上一个、查找),一切都很完美!
现在我想让应用程序继续在用户退出或页面卸载或类似媒体元素已经播放时播放!
注意在上面尝试
list.playlist:是一个包含音轨的列表 num_input:是列表中将要播放的音乐文件的数量,(获取:来自 mediaelement) time_input:是媒体元素在停止之前的时间跨度,(设置:backgroundaudioplayer 开始) play: 是布尔变量,如果 mediaelement 播放则为真 Stop():是停止媒体元素播放的函数
那就是我正在尝试的是:
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);
谢谢!