我有一个网站,可以让用户使用他们的手机扫描QR码。我正在使用instascan库。
例如,我用于测试网站的手机有4个后置摄像头(华为p30 pro)。
对于每个选择第一个“后置”相机的人,我都采用了:
if (cameras.length > 0) {
var selectedCam = cameras[0];
$.each(cameras, (i, c) => {
if (c.name.indexOf('back') != -1) {
selectedCam = c;
return false;
}
});
scanner.start(selectedCam);
else {
console.error('No cameras found.');
}
这样做,第一个后置摄像头发现视线太模糊了,我无法扫描QR。如果我默认情况下选择第二台摄像机,例如:
scanner.start(cameras[2]);
视觉非常完美,我可以扫描所有QR。
我的问题是,是否有人知道选择正确的后置摄像头或“主”后置摄像头的通用方法?
我的意思是,我的网站将被许多拥有不同手机的用户使用,因此他们将拥有不同数量的相机。这包括相机的顺序将不会总是相同。