我正在 Windows 7/Windows 8 64 位上使用 PySide GUI 框架、Python 2.7 开发一个应用程序(PySide 和 Python 都是 32 位)。
我制作了一个使用 Phonon 包进行视频播放器的小部件。起初我尝试在 Windows 7 上运行程序 - 成功。但是,安装了所有相同的软件包后,我无法在 Windows 8 上运行它。
当我打开视频播放器或尝试切换视频时收到的错误是:
WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded
WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded
WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded
WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded
WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded
WARNING: Phonon::createPath: Cannot connect MediaObject ( no objectName ) to AudioOutput ( no objectName ).
WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded
WARNING: Phonon::createPath: Cannot connect MediaObject ( no objectName ) to VideoWidget ( no objectName ).
WARNING: bool __thiscall Phonon::FactoryPrivate::createBackend(void) phonon backend plugin could not be loaded
PySide 插件目录包含所有必需的插件。目录 C:\Python27\Lib\site-packages\PySide\plugins\phonon_backend 内容为:
- phonon_ds9d4.dll
- phonon_ds94.dll
我尝试使用此选项从 setup.py 安装包:
data_files=[
('phonon_backend', [
'C:\Python27\Lib\site-packages\PySide\plugins\phonon_backend\phonon_ds94.dll'
])
]
来源可以在这里看到:https://github.com/dpitkevics/stream-ies/blob/master/widgets/video_player.py#L17
现在我已经走进了死胡同。我不知道在哪里进一步搜索。最奇怪的是,在其他 PC 上,相同的软件包却能正常工作。
任何帮助将不胜感激。
最佳答案
我遇到了同样的问题,尽管发现我在 PySide\plugins\phonon_backend 中同时拥有 phonon_ds9d4.dll 和 phonon_ds94.dll,但我也遇到了相同的警告。 感谢https://srinikom.github.io/pyside-docs/PySide/QtCore/QCoreApplication.html?highlight=librarypaths#PySide.QtCore.PySide.QtCore.QCoreApplication.libraryPaths ,我发现我的路径指向 PyQt,即 C:/Python34/Lib/site-packages/PyQt5/plugins 而不是 PySide。 通过删除 PyQt5(反正我没有使用它),它解决了我的问题以及更多问题......
我的入口点如下所示
if __name__ == '__main__':
app = QApplication(sys.argv)
for lppath in app.libraryPaths():
print(lppath)
tologin = LoginWidget()
ret = app.exec_()
sys.exit(ret)
for 循环返回 PySide 搜索插件的路径。
关于python - PySide Phonon 错误,后端插件无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28683371/