MediaPlayer不会在一台计算机上播放音乐(System.InvalidOperationException类型的第一次机会异常)

时间:2011-08-08 22:25:55

标签: xna

我在使用XNA播放音乐时出现问题,此问题仅发生在一台计算机上。在此计算机上,我在尝试执行MediaPlayer.Play(someMusic)时在标题中收到错误消息。但是(见下文),问题与Visual Studio无关。

我已尽可能地研究过这个问题。其他人有这个问题,但没有一个建议解决了我的问题。这个问题的主要原因(至少对其他人来说)是连接Windows Phone并运行Zune。显然它会锁定媒体库。所以我要说:

  • 编码XNA时我没有/从未连接过我的Windows Phone(没有开发人员解锁的手机)
  • 作为我尝试解决此问题的一部分,我已完全卸载了Zune,问题仍然存在。

其他一些建议似乎围绕着Visual Studio环境中的设置,或围绕音乐文件本身的问题。对此,我可以这样说:

  • 我已经构建了包含此问题的可执行文件,这些可执行文件并不总是表现出这个问题,但它们本身并没有被更改。
    • 这些可执行文件用于在相关计算机上播放音乐,但不再使用
    • 这些可执行文件执行在我的其他计算机上播放音乐。

我真的很难过。以下是我尝试过的其他一些事情:

  • 从问题开始之前卸载每个程序到现在
  • 注册表清理
  • 卸载并重新安装Windows Media Player

我正在运行Windows 7 64位。 的其他计算机之一也遇到此问题也运行相同的操作系统。

这令人沮丧,因为这台电脑是我的主要开发计算机。似乎在这台计算机宇宙的某个黑暗角落里发生了某些变化。任何建议都非常感谢。

3 个答案:

答案 0 :(得分:1)

在深入潜水之前,请确认每次尝试在此机器上播放时都会发生这种情况。

如果有,请使用try ... catch

包围 MediaPlayer.Play 代码

以下是 MediaPlayer.Play 的代码实际上在某个地方的代码:

enter image description here

它似乎返回一些异常代码,在InvalidOperationException中包装为内部异常(假设这是你看到的异常)。

请查看此内部异常,并检查您收到的异常是什么。 这可能有助于揭示其确切原因。

答案 1 :(得分:1)

下载Windows Phone SDK 7.1(已于2011年9月28日发布)后,我的音乐功能已恢复。

答案 2 :(得分:0)

确保已安装Windows Media Player。 XNA使用一些WMP DLL文件来播放音乐。如果未安装WMP,则无法找到它们并使用非常误导的消息抛出异常。