python - PySide Phonon 错误,后端插件无法加载

标签 python pyqt pyside pyqt5 phonon

我正在 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/

相关文章:

python - Windows 中的 PySide - 从角落移除填充

python - 如何让 argparse 使用选项而不是前缀从文件中读取参数

python - 在 python 中排序字符串不起作用

python - 如何从 QListWidget 中删除项目

python - Pyside:检测 QWidget 上的单击和双击

python - 获取链接到 "QPushButton.clicked.connect"信号的函数

python - sqlite中的变量表名

python - 使用正则表达式仅匹配特定的特殊字符

python - QRegExp 和 QSyntaxHighlighter 的单引号文本

python - 是否可以创建仅具有外边框的 QMainWindow?