pyqt5 QWebEngine怎样全屏播放国内视频?

问题如下:

  1. 如何强制使用H5播放器?
  2. 全屏按钮无效怎么解决?

测试代码:

import sys
from PyQt5 import QtWidgets, QtGui, QtCore
from PyQt5.QtWebEngineWidgets import *

def _fullScreenRequested( request ):
    request.accept()
    w.showFullScreen()

argvs = sys.argv
# 支援flash
argvs.append('--ppapi-flash-path=./pepflashplayer.dll')

app = QtWidgets.QApplication(argvs)
w = QWebEngineView()
w.settings().setAttribute(QWebEngineSettings.PluginsEnabled, True)
w.settings().setAttribute(QWebEngineSettings.JavascriptEnabled, True)
w.settings().setAttribute(QWebEngineSettings.FullScreenSupportEnabled, True)

w.page().fullScreenRequested.connect(_fullScreenRequested)

w.load(QtCore.QUrl('https://www.bilibili.com/video/av22192941/'))
# w.load(QtCore.QUrl('https://youtu.be/fAIX12F6958'))

w.show()
app.exec_()

经测试,Youtube的视频可实现全屏,但国内主要视频网站全屏按钮无效
调试后发现:若网站使用video.js(判断浏览器是否支持H5)会导致使用flash播放——估计其对QtWebEngine不友好...—— 如B站

请问,怎样才能实现全屏呢?

阅读 6.9k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进