javascript - 仅向有权访问面向环境的摄像头的用户显示功能
问题描述
我正在开发一种功能,允许用户使用他们的移动设备相机拍照。是否有可靠的方法来检测用户是否具有此访问权限?目前,这是由以下人员设置的约束:
facingMode: { exact: "environment" }
我想对无法使用设备后置摄像头的用户隐藏此功能。这是有效的代码。
<script>
const player = document.getElementById('player');
const canvas = document.getElementById('canvas');
const context = canvas.getContext('2d');
const captureButton = document.getElementById('capture');
const constraints = {
video:
{
facingMode: { exact: "environment" }
}
};
captureButton.addEventListener('click', () => {
// Draw the video frame to the canvas.
context.drawImage(player, 0, 0, canvas.width, canvas.height);
});
// Attach the video stream to the video element and autoplay.
navigator.mediaDevices.getUserMedia(constraints)
.then((stream) => {
player.srcObject = stream;
});
</script>
解决方案
当不满足确切的约束时,OverconstrainedError
抛出 a。您可以捕获错误并像这样隐藏元素。
const video = document.getElementById('video');
const button = document.getElementById('button');
navigator.mediaDevices
.getUserMedia({
video: {
facingMode: {
exact: 'environment'
},
},
})
.then((stream) => video.srcObject = stream)
.catch((_) => button.style.display = 'none');
推荐阅读
- windows - 我正在尝试使用 Robocopy 替换 cmd 文件
- c# - 使用第一个空格从右侧获取值
- python - cURL 请求拒绝连接 Flask 服务器
- mysql - 基于字段值的行到列
- linux - Linux net.h proto_ops 中的“kern”标志有什么作用?
- java - 如何创建 RTSP 服务器以从网络摄像头流式传输?
- wordpress - Woocommerce:是什么激活了 single-product-reviews.php?
- r - str_extract_all 中的“下标越界”错误
- javascript - jQuery点击向下滑动特定的div
- azure - 如何使用微服务架构在 Azure 中部署较低的环境?