我正在构建一个从 Python 调用的简单 Web 应用程序。我正在使用下面的代码。加载此页面时,以编程方式授予对 Cam & Mic 访问权限的最简单方法是什么?我只在网上找到了 C++ 示例,但找不到在 Python 代码中执行此操作的方法。
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtCore import QUrl
app = QApplication([])
view = QWebEngineView()
view.load(QUrl("https://test.webrtc.org/"))
view.show()
app.exec_()
Run Code Online (Sandbox Code Playgroud) 我有一个用 编写的基本 websocket 服务器应用程序Flask-SocketIO
,位于 AWS 中的 NGINX 后面。我可以使用 Web 客户端(Chrome 和 FFox)成功连接到它,但它一直使用轮询而不是 Web 套接字。测试时,我一遍又一遍地在控制台中看到如下消息:
127.0.0.1 - - [2018-04-27 11:59:43] "GET /socket.io/?token=1234567890qwertyuiop&EIO=3&transport=polling&t=1524830363623-23&sid=c4606e25c4603e23&sid=c4606e2f18c403e24b160d16c50a16c50c50d12f10d12f9d1234567890qwertyuiop&EIO=3
经过一番研究,我在客户端连接选项中添加了“rememberTransport:false”,但这并没有帮助,所以大概是我的代码或配置有问题。我希望有人能够发现我犯的一个明显的(菜鸟)错误。
我更改了我的 AWS 安全组,这样我就可以绕过 NGINX 并直接访问测试 WSGI 服务器。所以现在我在本地 PC 上使用http://serverIP:5000。我仍然遇到同样的问题,所以它与 NGINX 配置无关。
我只是将示例代码复制到我的 RPi3B 并在那里运行服务器。我的三星手机浏览器、PC FFox、PC Chrome 和 RPi Chromium 都会导致轮询连接。所以看起来问题出在 Flask-SocketIO 服务器上。我的代码非常简单,那么有什么问题呢?
我的服务器代码如下:
#!/usr/bin/env python
from flask_socketio import SocketIO, join_room, send, emit, disconnect
from flask import Flask, render_template, request
robotAIapp = Flask(__name__)
socketio = SocketIO(robotAIapp)
@robotAIapp.route('/wsLogin.html')
def wsLogin():
return render_template('wsLogin.html')
@socketio.on('connect')
def …
Run Code Online (Sandbox Code Playgroud)