2016-04-26 8 views
0

Ich muss einen sehr einfachen Web-Browser in Python eingewickelt machen. Ich verwende pyQt4 dafür. Ich kann sehr einfach einen kleinen Browser erstellen, um Webseiten zu laden und fast alles funktioniert gut. Das Problem, das ich habe, ist, dass der Zugriff auf die Webcam nicht funktioniert. Navigieren zu einer beliebigen URL, die versucht, auf die Webcam zuzugreifen (über Javascript getUserMedia()), tut nichts. Ruft den Benutzer nicht auf, ein Webcam-Gerät auszuwählen.pyQT4 Web Browser Python gewähren Erlaubnis (Webcam)

Warum ist das?

Wie gewähre ich die Erlaubnis, die Webcam mit einem einfachen pyQT4 Python-Programm zu verwenden? Hier

ist das, was ich bisher:

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_()) 

Dieser Code lädt eine WebRTC Demo, die unmittelbar für die Webcam-Zugriff sollte sofort. Aber das tut es nicht. Alle Websites, die nach Webcam-Berechtigungen fragen, funktionieren nicht.

Hinweis: Ich habe versucht, eine Berechtigungsanforderung zu definieren und dann den Zugriff zu gewähren. Es tut jedoch immer noch nichts. Ich könnte hier etwas falsch machen?

Danke für jede Hilfe, die Sie Jungs bieten können. Bin dankbar.

Antwort

1

QtWebKit unterstützt nur Geolocation and Notifications als Erlaubnisanforderungen.

Ich glaube nicht, dass es überhaupt WebRTC unterstützt, möchten Sie vielleicht auf PyQt5 aktualisieren und stattdessen QtWebEngine verwenden.

+0

Ok, also sollte ich PyQt5 verwenden. Kennen Sie gute Tutorials für einen sehr einfachen Browser, wie den oben für PyQt4? Vielen Dank – alexward1230