首页 > 其他分享 ># Cocos 2 使用 webview 嵌入页面,摄像头调用没权限问题

# Cocos 2 使用 webview 嵌入页面,摄像头调用没权限问题

时间:2024-10-10 14:25:14浏览次数:8  
标签:Cocos 嵌入 url cocos webview 摄像头 页面

Cocos 2 使用 webview 嵌入页面,摄像头调用没权限问题

嗯,这么说呢,这篇博文看自己的实际需求哈,标题写的可能不是很准确。
我这边呢,是遇到这样一个功能,就是有一个服务,他是的页面呢,是打开电脑的摄像头,需要在cocos 程序里面呢,展示摄像头的实时画面。看上去挺简单哈,但是实际做起来,还是有点问题。

背景

另一项目组提供一个web服务,这个服务呢,是部署到后端服务器的web项目,最终提供一个页面的访问链接,这个访问链接呢,浏览器打开后,会自动打开电脑的摄像头采集画面。这个功能呢,需要在 cocos 中使用,也就是说需要在 cocos 中打开摄像头,实现相应的功能。

最开始我是这么想的, cocos 直接打开设备摄像头有点麻烦,所以我就打算直接使用 cocos 提供的组件 webview,直接把提供的 web 页面嵌入进来,这样子听起来就十分的简单了,OK,那就简单的试验一下。

cocos 使用 webview 嵌入页面

这个功能十分的简单,cocos 提供了 webview 组件,只需要设置一下 url 就可以了。

但是有一个问题需要注意一下,就是 cocos 啊,目前只是支持插入 url,不能使用本地的 html 文件,所以提供的 web 页面需要部署起来,我自己本地使用 nginx 部署了一下。

使用很简单,添加到页面一个 webview 组件,然后把 url 填写上:

在这里插入图片描述

好了,完成了,我们现在只需要打开页面运行一下就可以了!

在这里插入图片描述

看上面截图,摄像头画面打不开,控制台报错了,报的意思是没有授权!

所以说我们需要授权一下。

解决问题

解决很简单,只需要在嵌入网页的 iframe 标签中添加一下授权就可以:

<iframe src="./wjw.html" frameborder="0" allow="microphone *;camera *;"></iframe>

主要就是加上 allow="microphone *;camera *;" 这段代码就可以了。

但是现在有这样一个问题,就是我们使用的是 webview 嵌套的网页,他是 cocos 提供的组件,他只能配置个 url,没有什么 iframe ,怎么办? 有办法!

首先我们给使用的 webview 关联一个 ts 文件,然后我们呢,打印一下这个 node:

    start() {
        console.log("WebViewFun start", this.node);
    }

我们看一下 node 里面有没有 iframe 这个标签!

在这里插入图片描述

看!找到啦!!!

后面就简单了,给他加上就可以了!加上之后,在把 url 赋值上去,还有,之前在组件配置的 url 就可以清空了,我们后边动态给赋值上去:

    start() {
        let iframeDom = this.node.getComponent(cc.WebView)["_impl"]["_iframe"];
        iframeDom.allow = 'microphone *;camera *'
        iframeDom.src = "http://127.0.0.1/"
    }

好了,我们看一下效果:

在这里插入图片描述

诶,画面出来了!完成!!

标签:Cocos,嵌入,url,cocos,webview,摄像头,页面
From: https://www.cnblogs.com/wjw1014/p/18456259

相关文章

  • 【嵌入式裸机开发】基于stm32的照相机(OV7670摄像头、STM32、TFTLCD)
    基于STM32的照相机准备工作最终效果一、下位机1、主函数2、OV7670初始化二、上位机1、控制拍照2、接收图片数据准备工作一、硬件及片上资源:1,串口1(波特率:921600,PA9/PA10通过usb转ttl连接电脑,或者其他方法)上传图片数据至上位机2,串口2(波特率:115200,PA2/PA3......
  • 机器学习:opencv--摄像头OCR
    目录前言一、三个函数1.显示图像2.点排序3.透视变换二、代码实例1.打开摄像头2.图像预处理3.检测特定轮廓4.对轮廓进行处理5.释放资源前言        摄像头OCR指的是利用摄像头捕捉图像中的文字信息,并通过光学字符识别(OCR)技术将其转换为可编辑的文本。 ......
  • 《DNK210使用指南 -CanMV版 V1.0》第二十七章 摄像头图像调整实验
    第二十七章摄像头图像调整实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.html5......
  • 抖音快手OBS虚拟摄像头直播被误判录播如何修改注册表
     使用OBS虚拟摄像头容易被检测为录播解决办法参考增加视频内容的动态性:在OBS中使用多个视频源,如实时摄像头画面、屏幕共享、图像幻灯片等,并且定期切换这些源,以模拟真实直播时的操作。使用摄像头捕捉真实画面:将真实摄像头捕捉到的画面作为OBS的一个场景,这样可以......
  • 一次实践:给自己的手机摄像头进行相机标定
    目录1.问题引入2.准备工作2.1标定场2.2相机拍摄3.基本原理3.1成像原理3.2畸变校正4.标定解算4.1代码实现4.2详细解析4.2.1解算实现4.2.2提取点位4.3解算结果5.问题补充1.问题引入不得不说,现在的计算机视觉技术已经发展到足够成熟的阶段了,还记得笔者刚工作的时候,......
  • uniapp开发——使用uni.chooseImage调用摄像头功能
    1.前端调用代码://获取摄像头权限失败的处理asyncfunctionrequestAndroidPermission(permisionID){varresult=awaitpermision.requestAndroidPermission(permisionID)if(result==-1){//被永久拒绝权限"letmsg='您还没有开启摄像头权限,无法拍照,是......
  • GB28181接入摄像头到LiveGBS流媒体平台时,内网ip和外网ip怎么设置才能正确接收到摄像头
    @目录1、流媒体服务配置2、播放提示nonertpdatareceive3、多网卡服务器4、收流端口配置5、端口区间可以如何配置6、搭建GB28181视频直播平台1、流媒体服务配置LiveGBS中基础配置-》流媒体服务配置中有,本地|内网IP、外网IP(可选)、外网IP收流勾选,如何配合使用,如何理解?本......
  • 海康大华等4G布控球摄像头通过GB28181注册到LiveGBS后,如果获取摄像头经纬度坐标值,并在
    @目录1、背景2、位置订阅2.1、国标设备编辑2.2、选择设备开启位置订阅2.3、全局开启位置订阅2.4、通过目录订阅获取位置(少数情况)3、经纬度信息查询3.1、访问接口获取3.1.1、查询设备列表3.1.2、查询单条设备信息3.1.3、查询设备通道列表3.1.4、查询单条通道信息3.1.5、查询级联......
  • ifream跟webview 嵌套orchard core的登录
    orchardcore默认的安全策略很高。所以要设置后台要开启ocrs跟安全program.cs要配置cookie可以跨域。`builder.Services.ConfigureApplicationCookie(options=>{options.Cookie.SameSite=SameSiteMode.None;options.Cookie.SecurePolicy=......
  • NXP i.MX8系列平台开发讲解 - 4.2.1 摄像头篇(一) - 认识摄像头模组
    专栏文章目录传送门:返回专栏目录Hi,我是你们的老朋友,主要专注于嵌入式软件开发,有兴趣不要忘记点击关注【码思途远】文章目录目录1.引言2.嵌入式系统中的CCM应用3.摄像头模组的基本组成4.摄像头模组的封装工艺5.摄像头的接口简述6.发展趋势7.结论本章节......