Visual studio 2012 在windows phone上退出应用程序后恢复音乐

Visual studio 2012 在windows phone上退出应用程序后恢复音乐,visual-studio-2012,windows-phone-8,mediaelement,background-music,Visual Studio 2012,Windows Phone 8,Mediaelement,Background Music,我正在使用mediaElement在我的应用程序中播放背景音乐。这很好用 问题是当用户最小化应用程序时。当应用程序恢复时,没有声音。。。我可以在我的应用程序中播放其他声音,但不能再播放背景音乐了 首先,我有以下代码在应用程序首次打开时停止所有背景音乐: if (Microsoft.Xna.Framework.Media.MediaPlayer.State == MediaState.Playing) { Microsoft.Xna.Framework.M

我正在使用mediaElement在我的应用程序中播放背景音乐。这很好用

问题是当用户最小化应用程序时。当应用程序恢复时,没有声音。。。我可以在我的应用程序中播放其他声音,但不能再播放背景音乐了

首先,我有以下代码在应用程序首次打开时停止所有背景音乐:

if (Microsoft.Xna.Framework.Media.MediaPlayer.State == MediaState.Playing)
        {

            Microsoft.Xna.Framework.Media.MediaPlayer.Pause();
            FrameworkDispatcher.Update();

        }
该mediaElement的xaml代码

 <MediaElement AutoPlay="True" Source="/Dodaci/pozadina.mp3" x:Name="muzika_pozadina" MediaEnded="pustiPonovo" Loaded="pustiPonovo"   />
声音大小约为300kb


那么,在用户恢复应用程序后,我如何恢复声音播放?

当您的应用程序处于休眠状态时(例如,当您点击Start buton时),MediaElement将停止。然后,当你返回到你的应用程序(并且它没有被删除)后,页面不会再次初始化,这意味着你的MediaElement不会再次加载,因此你的音乐不会再次启动

这取决于您的目的和代码,以及如何返回。在一个非常简单的示例中,当您不需要记住音乐的最后位置时,只需在OnNavigatedTo()事件中再次设置MediaElement的源:

当您将MediaElement.AutoPlay设置为true时,它应该自动启动(因为您可能也不需要加载的事件pustiPonovo)

在更复杂的情况下,您可以利用应用程序的激活和停用事件—从休眠/墓碑案例返回MediaElement的过程得到了很好的解释

您还应该阅读关于用户决定通过互动程序而不是启动器选择器返回应用程序的情况


我还没有尝试过上面的代码,但希望它能完成任务。

谢谢!!!这就是我一直在寻找的答案!这真是太棒了!!!再次感谢!!!:)@我很高兴我帮了忙。所以别忘了它是否解决了你的问题。
private void pustiPonovo(object sender, RoutedEventArgs e)
    {
        muzika_pozadina.Play();
    }
protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    if (e.NavigationMode == NavigationMode.Back)
            muzika_pozadina.Source = new Uri("/Dodaci/pozadina.mp3", UriKind.RelativeOrAbsolute);
}