应用程序关闭时继续播放音乐

我正在开发一个应用程序在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保护的独立存储文件(例如播放列表)。

链接地址: http://www.djcxy.com/p/41795.html

上一篇: continue playing music when app closes

下一篇: how to work with a MediaPlayer perfectly in android