📅  最后修改于: 2023-12-03 15:39:11.552000             🧑  作者: Mango
在开发需要使用摄像头的web应用程序时,我们需要检查用户是否有可用的相机设备。在Javascript中,我们可以使用导航器用户媒体API来检查用户是否授予了相机访问权限,以及他们是否有可用的相机设备。
以下是一个示例函数来检查用户是否有可用的相机设备。
function checkCameraAvailability() {
//首先检查UA
navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia;
// 检查getUserMedia方法是否可用
if (navigator.getUserMedia) {
//检查是否授予了相机权限
navigator.getUserMedia({ video: true },
function (stream) {
// 打印出找到的可用的摄像头设备
console.log('Camera found.');
},
function (err) {
// 没有找到可用的相机设备
console.log('No camera found.');
}
);
} else {
// getUserMedia方法不可用
console.log('getUserMedia not supported in this browser.');
}
}
在上面的代码中,我们首先使用navigator.getUserMedia来检查当前浏览器是否支持getUserMedia方法。如果方法可用,我们将使用该方法来检查是否授予了相机访问权限,并尝试访问相机设备。如果找到了可用的摄像头设备,我们将在控制台打印出“Camera found.”,否则我们将打印出“No camera found.”。
如果getUserMedia方法不可用,我们将打印出“getUserMedia not supported in this browser.”。
该函数可在任何需要检查相机设备可用性的Javascript应用程序中使用。