【发布时间】:2016-04-26 03:41:23
【问题描述】:
我需要制作一个非常简单的用 python 包装的网络浏览器。我为此使用 pyQt4。我可以很容易地创建一个小浏览器来加载网页,几乎一切正常。我遇到的问题是无法访问网络摄像头。导航到任何尝试访问网络摄像头的 url(通过 javascript getUserMedia() )什么都不做。甚至不提示用户选择网络摄像头设备。
这是为什么?
如何通过简单的 pyQT4 python 程序授予使用网络摄像头的权限?
这是我目前所拥有的:
from PyQt4 import QtCore, QtGui, QtWebKit
class myWindow(QtWebKit.QWebView):
def __init__(self, parent=None):
super(myWindow, self).__init__(parent)
#self.page().mainFrame().addToJavaScriptWindowObject("myWindow", self)
self.loadFinished.connect(self.on_loadFinished)
self.page().featurePermissionRequested.connect(self.permissionRequested)
self.load(QtCore.QUrl('https://pubnub.com/developers/demos/webrtc'))
@QtCore.pyqtSlot()
def on_loadFinished(self):
#self.page().mainFrame().evaluateJavaScript(getJsValue)
def permissionRequested(self, frame, feature):
self.page().setFeaturePermission(frame, feature, QWebPage.PermissionGrantedByUser)
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
app.setApplicationName('myWindow')
main = myWindow()
main.show()
sys.exit(app.exec_())
此代码加载一个 webrtc 演示,该演示应立即提示访问网络摄像头。但事实并非如此。所有要求网络摄像头权限的网站都不起作用。
注意: 我试图定义权限请求,然后授予访问权限。但是,它仍然什么也没做。我可能在这里做错了什么?
感谢你们提供的任何帮助。欣赏它。
【问题讨论】:
标签: permissions pyqt pyqt4 webcam pyqt5