【问题标题】:notify user to play sound windows phone 8 and stop current music通知用户播放声音 windows phone 8 并停止当前音乐
【发布时间】:2014-01-27 01:33:29
【问题描述】:

在我的 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();
            }
        }
    }

我很确定必须在 Api 中与 MediaPlayer 进行一些更改?我找不到任何相关信息,有人知道我该如何解决吗?

谢谢!!!

【问题讨论】:

  • stackoverflow.com/questions/20958068/… - 这对我来说很好用。您是否设法调试应用程序退出的位置?有什么例外吗?
  • 是的,这正是 Walt Ritscher 所说的错误,如果我将消息框移动到每个部分都可以,但不是在 application_launching 中,我找不到正确的显示方式当应用程序启动时。
  • MainPage OnNavigatedTo 或您的应用启动的其他页面?

标签: audio windows-phone-8


【解决方案1】:

如您所料,API 发生了一些变化。

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

来自 MSDN:“如果您从应用程序 Activated 和 Launching 事件处理程序中调用 Show(String) 方法,则会引发 InvalidOperationException,并显示消息 Error Displaying MessageBox。”

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

App platform compatibility for Windows Phone

【讨论】:

  • 我把它从 Application_Launching 移到了
  • 谢谢你的回答,这正是问题所在(你解释得比我好),Windows Phone 8 中的 Show(string) 很不清楚。为了暂时解决我把它放在主页时已加载,看起来它解决了问题,现在我需要检查它是否通过了认证过程。谢谢!
  • @Snake-leaf 请注意,因为 MainPage 可以多次构建/导航,不仅在您启动应用程序时。如果沃尔特的回答解决了您的问题,请不要忘记接受它(旁边的绿色勾号)。
  • @Romasz 今天晚些时候我回家后会检查,谢谢!
猜你喜欢
  • 1970-01-01
  • 2016-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-05
  • 2011-10-06
相关资源
最近更新 更多