编写功能以使用设备的相机捕获QR码。
使用navigator.mediaDevices.getUserMedia()
获取mediaStream
navigator.mediaDevices
.getUserMedia({ video: { facingMode: {exact: "environment"}})
.then(mediaStream => {
video.srcObject = mediaStream;
video.setAttribute("playsinline", true);
video.play();
requestAnimationFrame(tick); // Hoisting "tick" method outside
})
.catch(error => {
if (error.name === 'OverconstrainedError' && error.constraints === 'facingMode') {
// do something here
} else if (error.name === 'NotSupportedError' {
// do something here
} else {
// do something here
}
)};
Web浏览器在error.name === 'NotSupportedError'
挂起。
MDN Web Docs中未引用它,这是登录到控制台时在error.name
中显示的错误。