javascript - 如何在QuaggaJS中使用后置摄像头代替自拍相机

标签 javascript quaggajs

我在使用 QuaggaJS 打开正确的相机时遇到问题,在某些设备上,自拍相机已打开,但在其他设备上,后置相机将打开。如何设置标准摄像头打开为后置摄像头?因为用自拍相机扫描条形码并不是那么容易......

这是我迄今为止尝试过的:

 inputStream: {
                type : "LiveStream",
                constraints: {
                    width: {min: 640},
                    height: {min: 480},
                    facingMode: "environment",
                    aspectRatio: {min: 1, max: 2}
                }
            },

初始化时,我将脸部模式设置为环境,但自拍相机仍然打开......

也许 chrome 中还有一个设置可以更改此设置?但我能找到它......

最佳答案

我正在做的事情以及在某些智能手机上的工作如下:

var backCamID = null;
var last_camera = null;
navigator.mediaDevices.enumerateDevices()
.then(function(devices) {
  devices.forEach(function(device) {  
 if( device.kind == "videoinput" && device.label.match(/back/) !== null ){
      backCamID = device.deviceId;
    }
if( device.kind === "videoinput"){
last_camera = device.deviceId;
} 
});
if( backCamID === null){
backCamID = last_camera;
}
})
.catch(function(err) {         });

并在约束中放置相机ID而不是faceingMode

deviceId: backCamID

关于javascript - 如何在QuaggaJS中使用后置摄像头代替自拍相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54323699/

相关文章:

javascript - 如何使用 jQuery 定位变量中的类

javascript - coords.accuracy 是如何测量的,它的单位是什么?

javascript - 多边形自交检验的数值精度

javascript - Angular 应用程序未启动

javascript - quaggaJS:如何 "pause"解码器

ios - 样式默认 "No video source"/"No video permissions"黑色矩形

angular - QuaggaJS 与 Angular 2 的问题

javascript - 提交表单而不重新加载页面