• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

    html5调用摄像头实例代码

    发布者: Error | 发布时间: 2025-6-16 12:20| 查看数: 56| 评论数: 0|帖子模式

    最近在学习在做HTML5的项目,看了博客上html5调用摄像头拍照的文章,但各有瑕疵。于是自己查阅书籍写了一个demo,主要分三步,废话不多说上代码。
    HTML代码部分:
    1. <!--video用于显示媒体设备的视频流,自动播放-->   
    2. <video  id="video" autoplay style="width: 480px;height: 320px"></video>
    3. <!--拍照按钮-->
    4. <div>
    5.     <button id="capture">拍照</button>
    6. </div>
    7. <!--描绘video截图-->
    8. <canvas id="canvas" width="480" height="320"></canvas>
    复制代码
    接下来是js代码部分:
    1. <script>  
    2.     var video = document.getElementById('video');
    3.     var canvas = document.getElementById('canvas');
    4.     var capture = document.getElementById('capture');
    5.     var context = canvas.getContext('2d');
    6.     function getUserMediaToPhoto(constraints,success,error) {
    7.         if(navigator.mediaDevices.getUserMedia){
    8.             //最新标准API
    9.             navigator.mediaDevices.getUserMedia(constraints).then(success).catch(error);
    10.         }else if (navigator.webkitGetUserMedia) {
    11.             //webkit核心浏览器
    12.             navigator.webkitGetUserMedia(constraints,success,error);
    13.         }else if(navigator.mozGetUserMedia){
    14.             //firefox浏览器
    15.             navigator.mozGetUserMedia(constraints,success,error);
    16.         }else if(navigator.getUserMedia){
    17.             //旧版API
    18.             navigator.getUserMedia(constraints,success,error);
    19.         }
    20.     }
    21.     //成功回调函数
    22.     function success(stream){
    23.         //兼容webkit核心浏览器
    24.         var CompatibleURL = window.URL || window.webkitURL;
    25.         //将视频流转化为video的源
    26.         video.src = CompatibleURL.createObjectURL(stream);
    27.         video.play();//播放视频
    28.     }
    29.     function error(error) {
    30.         console.log('访问用户媒体失败:',error.name,error.message);
    31.     }
    32.     if(navigator.mediaDevices.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.getUserMedia){
    33.         getUserMediaToPhoto({video:{width:480,height:320}},success,error);
    34.     }else{
    35.         alert('你的浏览器不支持访问用户媒体设备');
    36.     }
    37.     capture.addEventListener('click',function() {
    38.         // 将video画面描绘在canvas画布上
    39.         context.drawImage(video,0,0,480,320);
    40.     })
    41. </script>
    复制代码
    值得注意的是:
    使用的时候打开摄像头一定要上server上打开,否则没办法使用!因为打开的是属于网络的webcam,需要在server上打开。
    目前好像chrome和opera还有大多数移动设备支持HTLM5打开摄像头,我这个是在chrome上测试成功的。
    还有一点,如果没成功,很可能是你不小心关闭了chrome打开摄像头的权限,你重新启用权限就可以啦!
    到此这篇关于html5调用摄像头实例的文章就介绍到这了,更多相关html5调用摄像头内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

    来源:https://www.jb51.net/html5/780523.html
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表