Audio 通知用户播放windows phone 8声音并停止当前音乐

Audio 通知用户播放windows phone 8声音并停止当前音乐,audio,windows-phone-8,Audio,Windows Phone 8,在我的Windows Phone 7和7.5应用程序中,如果用户已经在播放音乐,我会在应用程序启动时提示一个消息框,通知用户停止当前音乐播放声音,或退出应用程序,这是可行的,但当我从一开始就为Windows Phone 8编码时,由于某种原因,此代码不起作用,如果您正在播放声音,而不是提示通知,则应用程序会自动打开和关闭 这是我使用的代码: private void Application_Launching(object sender, LaunchingEventArgs e) {

在我的Windows Phone 7和7.5应用程序中,如果用户已经在播放音乐,我会在应用程序启动时提示一个消息框,通知用户停止当前音乐播放声音,或退出应用程序,这是可行的,但当我从一开始就为Windows Phone 8编码时,由于某种原因,此代码不起作用,如果您正在播放声音,而不是提示通知,则应用程序会自动打开和关闭

这是我使用的代码:

private void Application_Launching(object sender, LaunchingEventArgs e)
    {
        FrameworkDispatcher.Update();
        if (MediaPlayer.GameHasControl != true)
        {
            if (MessageBox.Show("This application requires play sounds and stop your     currently playlist", "Information",
                MessageBoxButton.OK) == MessageBoxResult.OK)
            {
                MediaPlayer.Stop();
                FrameworkDispatcher.Update();
            }
        }
    }
我很确定MediaPlayer的Api一定有什么变化?我找不到这方面的任何信息,有人知道我该如何解决这个问题


谢谢

正如您所猜测的,API中有一些变化

我注意到的第一件事是,从应用程序启动事件调用MessageBox.Show(string)会导致异常。您的应用程序可能由于未处理的异常而关闭

来自MSDN:“如果从激活的应用程序调用Show(String)方法并启动事件处理程序,则会引发InvalidOperationException,并显示MessageBox错误消息。”

编辑:MSDN上的文档不清楚调用.Show(string,string,messageBoxButton)是否会引发相同的异常


-这在我的情况下很好用。您是否已成功调试应用程序退出的位置?有什么例外吗?是的,这个错误正是Walt Ritscher说的,如果我把messagebox移到每个部分都可以,但是在应用程序启动时不行,当应用程序启动时,我找不到正确的显示方式。导航上的MainPage或其他应用程序启动的页面?我将其从应用程序启动移动到感谢您的回答,这正是问题所在(您的解释比我好),Windows Phone 8中的显示(字符串)非常不清楚。为了暂时解决这个问题,我把它放在主页加载时,看起来它解决了这个问题,现在我需要检查它是否通过了认证过程。谢谢@Snake leaf只需小心,因为主页可以多次构建/导航,而不仅仅是在启动应用程序时。如果沃尔特的答案解决了你的问题,别忘了接受它(旁边的绿色记号)。@Romasz今天我回家后会检查,谢谢!