我使用的是最新Chrome版本(78.0.3904.108)中的Instascan库。我的超文本标记语言页面(index.html)有一个非常基本的设置:
<head>
<script type="text/javascript" src="https://rawgit.com/schmich/instascan-builds/master/instascan.min.js"></script> <!--Qr code scanner-->
<script type="text/javascript" src="user.js"></script>
</head>
<body>
<p><button id="btn_start" onclick="start()">Start</button></p>
<video id="preview"></video>
</body>和我的javascript (user.js)
var scanner = new Instascan.Scanner({ video: document.getElementById('preview') });
function start() {
Instascan.Camera.getCameras()
.then((cameras) => {
scanner.start(cameras[0]);
})
}当我按下start时,我可以在调试器中看到我的摄像头正在执行scanner.start。控制台中未显示错误。但是,video元素没有显示任何内容。
如何使视频元素显示我的网络摄像头所看到的内容?
发布于 2019-11-26 00:43:35
请找到下面的工作示例,您必须将此代码粘贴到您的工作区中才能看到此工作:
let scanner = new Instascan.Scanner({ video: document.getElementById('preview') });
scanner.addListener('scan', function (content) {
console.log(content);
});
Instascan.Camera.getCameras().then(function (cameras) {
if (cameras.length > 0) {
scanner.start(cameras[0]);
} else {
console.error('No cameras found.');
}
}).catch(function (e) {
console.error(e);
});<script src="https://rawgit.com/schmich/instascan-builds/master/instascan.min.js"></script>
<video id="preview"></video>
https://stackoverflow.com/questions/59036354
复制相似问题