pyqt5 qwebenginview 不会自动播放 youtube 视频

Posted

技术标签:

【中文标题】pyqt5 qwebenginview 不会自动播放 youtube 视频【英文标题】:pyqt5 qwebenginview doesn't autoplay youtube videos 【发布时间】:2019-09-26 14:42:41 【问题描述】:

我正在尝试使用 Qwebengineview 查看 youtube 视频列表,但浏览器不会自动播放视频,我使用的是 PyQt5 5.13.1 Python 3.6

这是一个示例代码

from PyQt5.QtCore import QUrl
from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEngineProfile, QWebEnginePage
from PyQt5.QtWidgets import QApplication

if __name__ == '__main__':
    import sys

    app = QApplication(sys.argv)
    webview = QWebEngineView()
    profile = QWebEngineProfile("my_profile", webview)
    profile.defaultProfile().setPersistentCookiesPolicy(QWebEngineProfile.ForcePersistentCookies)
    webpage = QWebEnginePage(profile, webview)
    webview.setPage(webpage)
    webview.load(QUrl("https://www.youtube.com/watch?v=VzIVI2fsRb0"))
    webview.show()
    sys.exit(app.exec_())

【问题讨论】:

【参考方案1】:

我已经找到了使用 QWebEngineSettings 的解决方案,这是一个完整的工作示例,以防有人需要它

from PyQt5.QtCore import QUrl
from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEngineProfile, QWebEnginePage, QWebEngineSettings
from PyQt5.QtWidgets import QApplication
import time

if __name__ == '__main__':
    import sys

    app = QApplication(sys.argv)
    webview = QWebEngineView()
    profile = QWebEngineProfile("my_profile", webview)
    profile.defaultProfile().setPersistentCookiesPolicy(QWebEngineProfile.ForcePersistentCookies)
    webpage = QWebEnginePage(profile, webview)
    webpage.settings().setAttribute(QWebEngineSettings.PlaybackRequiresUserGesture, False)

    webview.setPage(webpage)
    webview.load(QUrl("https://www.youtube.com/watch?v=aKCNrkERJ3E"))
    webview.show()

    sys.exit(app.exec_())

【讨论】:

以上是关于pyqt5 qwebenginview 不会自动播放 youtube 视频的主要内容,如果未能解决你的问题,请参考以下文章

layui轮播图不会自动播放、这是代码哪位大神帮忙看一下问题出现在哪里?

PyQT5 不会为俄罗斯布局调用 keyPressedEvent

如何在 PyQt5 中正确显示图片? [关闭]

轮播转换无响应

第一个PyQt5窗口

菜单分隔符不显示