当前位置: 代码网 > it编程>网页制作>html5 > html5调用摄像头实例代码

html5调用摄像头实例代码

2021年06月28日 html5 我要评论
html5调用摄像头实例代码本文给大家分享html5调用摄像头实例代码,代码简单易懂,对前端html5的学习有很大帮助,如果对html5调用摄像头相关知识感兴趣的朋友一起看看吧... 21-06-28

最近在学习在做html5的项目,看了博客上html5调用摄像头拍照的文章,但各有瑕疵。于是自己查阅书籍写了一个demo,主要分三步,废话不多说上代码。

html代码部分:

<!--video用于显示媒体设备的视频流,自动播放-->   
<video  id="video" autoplay style="width: 480px;height: 320px"></video>
<!--拍照按钮-->
<div>
    <button id="capture">拍照</button>
</div>
<!--描绘video截图-->
<canvas id="canvas" width="480" height="320"></canvas>

接下来是js代码部分:

<script>  
    var video = document.getelementbyid('video');
    var canvas = document.getelementbyid('canvas');
    var capture = document.getelementbyid('capture');
    var context = canvas.getcontext('2d');
    function getusermediatophoto(constraints,success,error) {
        if(navigator.mediadevices.getusermedia){
            //最新标准api
            navigator.mediadevices.getusermedia(constraints).then(success).catch(error);
        }else if (navigator.webkitgetusermedia) {
            //webkit核心浏览器
            navigator.webkitgetusermedia(constraints,success,error);
        }else if(navigator.mozgetusermedia){
            //firefox浏览器
            navigator.mozgetusermedia(constraints,success,error);
        }else if(navigator.getusermedia){
            //旧版api
            navigator.getusermedia(constraints,success,error);
        }
    }
    //成功回调函数
    function success(stream){
        //兼容webkit核心浏览器
        var compatibleurl = window.url || window.webkiturl;
        //将视频流转化为video的源
        video.src = compatibleurl.createobjecturl(stream);
        video.play();//播放视频
    }
    function error(error) {
        console.log('访问用户媒体失败:',error.name,error.message);
    }
    if(navigator.mediadevices.getusermedia || navigator.webkitgetusermedia || navigator.mozgetusermedia || navigator.getusermedia){
        getusermediatophoto({video:{width:480,height:320}},success,error);
    }else{
        alert('你的浏览器不支持访问用户媒体设备');
    }
    capture.addeventlistener('click',function() {
        // 将video画面描绘在canvas画布上
        context.drawimage(video,0,0,480,320);
    })
 </script>

值得注意的是:

使用的时候打开摄像头一定要上server上打开,否则没办法使用!因为打开的是属于网络的webcam,需要在server上打开。

目前好像chrome和opera还有大多数移动设备支持htlm5打开摄像头,我这个是在chrome上测试成功的。

还有一点,如果没成功,很可能是你不小心关闭了chrome打开摄像头的权限,你重新启用权限就可以啦!

到此这篇关于html5调用摄像头实例的文章就介绍到这了,更多相关html5调用摄像头内容请搜索代码网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com