webrtc - 是否可以在不询问用户许可的情况下检测浏览器摄像头?
问题描述
在你们全都抨击我之前,我知道我的要求被认为是不好的,但我并不是在寻找一些狡猾的卑鄙策略来未经许可接近某人的相机。让我解释一下请求背后的原因,希望有人可以提出替代解决方案。
我有一个电子商务产品页面,在该页面上我有一个按钮,允许某人查看覆盖在他们的相机上的产品图像,以便在他们的环境中查看产品(想想增强现实,但不是在 3d 空间中)。
我想做的是在我将按钮显示给“假 AR 查看器”之前检测用户是否具有相机功能。我使用过 navigator.mediaDevices.getUserMedia 但它会提示用户获取相机权限,当您第一次登陆页面时,这有点令人反感“为什么电子商务网站要我的相机?”
到目前为止,我能想到的最好的选择是检测网络浏览器,如果它的移动设备和支持视频的版本,然后显示按钮。
解决方案
使用 navigator.mediaDevices.enumerateDevices() API。大致:
navigator.mediaDevices.enumerateDevices()
.then(devices => {
devices.forEach(device => {
if (device.kind === 'videoinput') {
console.log('found camera');
}
})
})
推荐阅读
- mongodb - 套接字 IO 客户端 ID
- makefile - 使用带有通配符目标的 nmake
- ios - 如何设置...在 mopub ios sdk 中初始化多个单元 id
- python-3.x - 熊猫数据框中的布尔索引
- java - AoC 第 8 天问题(Java)
- javascript - 如何在 html 中有一个开放日期选择器
- python - Python:使用 for 循环在 numpy 向量(包含随机 0,1,2 数字)中搜索序列 (1,1,2):
- r - Create new column with vector values based on groups from another character column
- c# - 在 MVC 网络核心中使用 Rotativa pdf 显示动态标题
- animation - 带有透明背景的 gif 动画