1

我有一些使用 Visual Studio 2010 (C++) 编译的代码,Qt 用于 GUI,Phonon 用于显示一些视频。

我在 Windows XP 机器上编译和运行代码,一切正常。视频和控件显示正确,在其他 Windows XP 机器上也是如此。但是在我尝试使用 Windows 7 机器的那一刻,视频没有显示。Phonon 控件已加载,我可以调整 Phonon VideoWidget 的大小,但没有显示任何内容。我正在使用 SetFile 方法来指示文件位置,并且我也尝试过(当然,没有运气)在 MediaObject 中使用 setCurrentSource(不过,它在 Windows XP 中有效)。

我尝试了文件的不同位置(绝对/相对),但似乎没有任何效果。此外,在 XP 中找不到视频时会显示警告消息,而在 Windows 7 中则没有错误消息,但也不会显示视频。如果我尝试使用其他播放器打开视频,它们可以正常工作(我也尝试使用不同格式的视频)。

关于什么可能是错的任何想法?Phonon 和 Windows 7 有什么我缺少的吗?谢谢!

4

1 回答 1

3

将应用程序部署到另一台计算机时,请确保不要忘记复制 Phonon 后端。不仅是其中包含的 DLL(对我来说是 ds 后端),还有目录本身。

那是

 -Application Directory
 ¦-myexe.exe
 ¦-phonon_backend
  ¦-phonon_ds94.dll

此外,Windows(和我认为是 Mac)上的 Phonon 后端使用了 QtOpenGL 模块。所以也不要忘记复制这个。它可以进入应用程序目录。

在任何情况下,您都可以通过添加一小段代码来显示(可能写入文件)哪些 mimetypes 可用,从而帮助自己。如果它没有吐出任何东西,则说明您的后端有问题。(嗯,你的应用程序......)

这就是我在应用程序中使用 Phonon 播放视频时必须做的事情。由于我只是在前一段时间才快速将其添加到我的应用程序中,因此我不能 100% 确定这是唯一(甚至是正确)的方法,因此任何有不同见解的人都可以对此发表评论。

于 2011-05-07T09:03:12.750 回答