无法加载后端插件的PySide Phonon错误

时间:2015-02-23 21:02:09

标签: python pyqt pyside pyqt5 phonon

我正在使用PySide GUI框架开发应用程序,Windows 7 / Windows 8 64位上的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上,同样的包装就像魅力一样 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

我有同样的问题,尽管我发现我在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搜索插件的路径。