【问题标题】:QwebView Not Playing Youtube VideosQwebView 不播放 Youtube 视频
【发布时间】:2017-09-28 09:26:49
【问题描述】:

我最近开始使用 PyQt4 创建 Web 浏览器,直到遇到问题。当我打开 youtube 时,我意识到我无法观看视频。经过一番研究,我找到了这个解决方案:

QWebSettings.globalSettings().setAttribute(QWebSettings.PluginsEnabled, True)

但是,当我尝试打开一个 youtube 视频时,它会显示一个空白屏幕。当我重新加载页面时,一条简短的错误消息说:

Play Back Is Not Supported On This Device

我尝试在 Chromium 浏览器中观看 youtube 视频,效果非常好。

我决定也试试这个方法:

self.Tab2Web.settings().setAttribute(QWebSettings.PluginsEnabled, True)

问题仍然存在。

相关代码如下:

class Ui_MainWindow(QtGui.QTabWidget):

    def setupUi(self, MainWindow):
    MainWindow.setObjectName(_fromUtf8("MainWindow"))
    MainWindow.resize(1283, 756)    
    QWebSettings.globalSettings().setAttribute(QWebSettings.PluginsEnabled, True)
    self.centralwidget = QtGui.QWidget(MainWindow)
    self.centralwidget.setObjectName(_fromUtf8("centralwidget"))

如果我遗漏了一些东西,可以找到完整的代码here

【问题讨论】:

    标签: python video youtube pyqt4 qwebview


    【解决方案1】:

    从 PyQt4 切换到 PySide

    我也遇到过这个问题,我想我可能会有答案。 PyQt4 不是 Python 中 Qt 应用程序开发的唯一选择,PySide 也是如此。


    你可以通过 pip 安装它: pip install -U PySide


    或包管理器(如果您使用 linux): sudo apt-get install python-pyside 或者对于 python3: sudo apt-get install python3-pyside


    安装完成后,将 PyQt4 导入替换为:

    from PySide import QtCore, QtGui
    from PySide import QtWebKit
    from PySide.QtWebKit import QWebSettings
    from PySide.QtCore import Slot as pyqtSlot
    from PySide.QtCore import QUrl
    from PySide.QtNetwork import QNetworkRequest, QNetworkAccessManager
    

    一切的外观和功能都应该完全相同,并且希望网络浏览器的 youtube 可以正常工作。

    另一个好处是 PySide 拥有 LGPL 许可证,而 PyQt4 拥有 GPL 许可证,因此,使用 PySide 时,您不必发布 Web 浏览器的源代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-07
      • 2011-05-05
      • 2014-05-01
      • 2020-06-09
      • 2013-07-13
      • 2014-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多