qtwebengine 打开摄像头问题

雲天之巔 2018-11-22 04:48:46

新版的谷歌浏览器无法打开摄像头,可以通过添加 --unsafely-treat-insecure-origin-as-secure来解决问题, Qt的webengine也是基于谷歌浏览器内核的,因此也有同样的问题,但不知道在哪里可以加入这个参数,测试过以下两个方法都无效:
1.QApplication a(newArgc, newArgv);参数带上
2. qputenv("QTWEBENGINE_CHROMIUM_FLAGS", "--unsafely-treat-insecure-origin-as-secure=http://192.168.0.193");

求大神指导,谢了!


...全文
1515 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
RdShareS 2021-07-23
  • 打赏
  • 举报
回复

有结果了吗?也遇到这个问题了

雲天之巔 2021-07-28
  • 举报
回复
@RdShareS 无果 已经放弃了。
  • 打赏
  • 举报
回复
其实应该是网页请求使用摄像头等相关设备,没有得到用户的允许。参考官方例程解决方法如下: 1、关联ui->webEngineView->page()的SIGNAL: featurePermissionRequested(QUrl,QWebEnginePage::Feature)自己写相应的SLOT解决 2、例如当用户允许时,有ui->webEngineView->page()->setFeaturePermission(securityOrigin,feature,QWebEnginePage::PermissionGrantedByUser); 重点在于QWebEnginePage::PermissionGrantedByUser,前两者参数分别为Url和设备枚举值
moruoxian 2018-11-23
  • 打赏
  • 举报
回复
设置一下 属性 webengine的
onFeaturePermissionRequested(const QUrl &securityOrigin, QWebEnginePage::Feature feature)
{
emit featurePermissionProvided(securityOrigin, feature, QWebEnginePage::PermissionGrantedByUser);
}
还有这个

QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::PluginsEnabled, true);
QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::ScreenCaptureEnabled, true);//启用屏幕捕捉屏幕共享
QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::AllowRunningInsecureContent, true);

16,154

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧