📜  导航器用户媒体检查相机是否可用 - Javascript (1)

📅  最后修改于: 2023-12-03 15:39:11.552000             🧑  作者: Mango

导航器用户媒体检查相机是否可用 - Javascript

在开发需要使用摄像头的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应用程序中使用。