Xna MediaPlayer不会在一台计算机上播放音乐(System.InvalidOperationException类型的首次机会例外)

Xna MediaPlayer不会在一台计算机上播放音乐(System.InvalidOperationException类型的首次机会例外),xna,Xna,我在使用XNA播放音乐时遇到问题,而这个问题只发生在一台计算机上。在这台计算机上,当它尝试执行MediaPlayer.Play(someMusic)时,我在标题中收到错误消息。但是(请参见下文),该问题与Visual Studio无关 我已经尽我所能研究过了。其他人也有过这个问题,但是这些建议都没有解决我的问题。这个问题的主要原因(至少对其他人来说)是他们的Windows Phone连接并运行Zune。显然它锁定了媒体库。因此,让我说: 在编码XNA时,我没有/从未连接过我的Windows P

我在使用XNA播放音乐时遇到问题,而这个问题只发生在一台计算机上。在这台计算机上,当它尝试执行
MediaPlayer.Play(someMusic)
时,我在标题中收到错误消息。但是(请参见下文),该问题与Visual Studio无关

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

  • 在编码XNA时,我没有/从未连接过我的Windows Phone(没有开发者解锁的手机)
  • 作为我试图解决这个问题的一部分,我已经完全卸载了Zune,问题仍然存在
其他一些建议似乎围绕着VisualStudio环境中的设置,或者围绕着音乐文件本身的问题。对此,我可以说:

  • 我已经构建了包含这个问题的可执行文件,这些可执行文件并不总是出现这个问题,但它们本身并没有被改变。
    • 这些可执行文件过去在有问题的计算机上播放音乐,但现在不再播放了
    • 这些可执行文件在我的其他计算机上播放音乐
我真的被难住了。以下是我尝试过的其他一些方法:

  • 从问题开始之前到现在卸载每个程序
  • 注册表清理
  • 卸载和重新安装Windows Media Player
我正在运行64位Windows 7。没有此问题的另一台计算机也运行相同的操作系统


这是令人沮丧的,因为这台计算机是我的主要开发计算机。在这台计算机的宇宙中,似乎有什么东西已经改变了。非常感谢您的建议。

在深入潜水之前,请确认您尝试在本机上播放的每首歌曲都会出现这种情况

如果有,请围绕您的MediaPlayer。使用try…catch播放代码

以下是MediaPlayer.Play的代码实际上在某些方面的作用:

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

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

下载(2011年9月28日发布)后,“我的音乐”功能已恢复。

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

我假设这是一个Windows XNA项目,并且您在两个countsWell上都重新安装了最新版本的WMP?@keyboard p yes,感谢您提出了一些我没有尝试过的建议。不幸的是,内部异常只是读取:
System.invalidoOperationException:发生了意外错误。
我应该补充一点,异常的完整消息是:
歌曲播放失败。请确认歌曲未受DRM保护。creator游戏不支持受DRM保护的歌曲。
我的音乐不受DRM保护,我尝试过的所有文件都无法播放。根据其他已经解决了这个问题的人(通过我已经尝试过的方法)的说法,这个消息是一个误导。似乎是th check for song.IsValidHandle返回false。你演奏的每首歌都会出现这种情况吗?尝试使用不同的MP3来查看行为。相同的可执行文件是否在不同的机器上工作?您存储它的路径是什么?某些路径实际上被阻塞(只读、系统等)。同时尝试以管理员的身份运行游戏(使用提升的权限,看看这是否有用)。