首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JS调用手机摄像头的API

JS调用手机摄像头的API

作者头像
用户1750537
发布2025-08-29 19:16:56
发布2025-08-29 19:16:56
9000
代码可运行
举报
运行总次数:0
代码可运行

使用 HTML、CSS 和 JavaScript 结合调用手机摄像头的API(如getUserMedia)以及条形码识别的 JavaScript 库(例如 QuaggaJS)来完成。

以下代码:

代码语言:javascript
代码运行次数:0
运行
复制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Barcode Scanner</title>
<style>
    #barcodeScanner {
        width: 100%;
        height: auto;
    }
</style>
</head>
<body>
<div id="barcodeScanner"></div>
<div id="barcodeResult"></div>

<script>
// 获取摄像头视频流
navigator.mediaDevices.getUserMedia({ video: { facingMode: "environment" } })
    .then(function (stream) {
        var video = document.createElement('video');
        video.srcObject = stream;
        video.setAttribute('autoplay', '');
        video.setAttribute('playsinline', '');
        video.style.width = '100%';
        document.getElementById('barcodeScanner').appendChild(video);

        // 使用QuaggaJS进行条形码扫描
        Quagga.init({
            inputStream: {
                name: "Live",
                type: "LiveStream",
                target: video
            },
            decoder: {
                readers: ["ean_reader"]
            }
        }, function(err) {
            if (err) {
                console.log(err);
                return;
            }
            Quagga.start();
        });

        // 监听识别结果
        Quagga.onDetected(function(result) {
            var code = result.codeResult.code;
            document.getElementById('barcodeResult').innerText = 'Detected barcode: ' + code;
        });
    })
    .catch(function (err) {
        console.error('Error accessing the camera: ', err);
    });
</script>
<script src="https://cdn.jsdelivr.net/npm/quagga"></script>
</body>
</html>

有网络连接,以加载 QuaggaJS 库。您也可以将库下载到本地并引用它。另外,由于涉及到调用摄像头,这段代码通常需要在 HTTPS 页面上才能正常工作。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-08-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 以下代码:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档