美文网首页WebRTC
应用程序缓存appcache 和 WebRTC摄像头

应用程序缓存appcache 和 WebRTC摄像头

作者: 李霖弢 | 来源:发表于2017-06-13 17:15 被阅读29次

    appcache

    • swapcache() 用于解决更新/刷新后依然无反应的兼容性问题

    调用摄像头

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>获取摄像头和声音</title>
    </head>
    <body>
        <h1>捕获摄像头</h1>
        <hr>
        <button id="btn">开启摄像头</button>
        <br>
        <video id="webcam"></video>
        <button id='picture' style="display:none">PICTURE</button> 
        <canvas id="canvas" width="640" height="480" style="display:none"></canvas>    
        
        
        <script>
           
            
            navigator.getUserMedia || (navigator.getUserMedia = navigator.mozGetUserMedia || navigator.webkitGetUserMedia || navigator.msGetUserMedia);
            
            //判断 是否支持 getUserMeida
            if (!navigator.getUserMedia) {
                 
            }
            
            //获取button
            var btn = document.getElementById('btn');
            
            //绑定事件
            btn.onclick = startWebcam;
            
            //开启 启动 摄像头
            function startWebcam(){
                navigator.getUserMedia({
                    video:true,
                    audio:true,
                }, onSuccess, onError)
            
                //调用成功后的回调 函数
                function onSuccess(stream){
                    //展示摄像头图像
                    var video = document.getElementById('webcam');
                    if (window.URL) {
                        video.src = window.URL.createObjectURL(stream);
                    } else {
                        video.src = stream;
                    }
                    video.play();
                    
                    //创建一个拍照按钮
                    picture.style.display = "block";
                    
                }
                
                //未成功调用后的回调函数
                function onError(error){
                    console.log(error);
                }
            }
            
            
            //绑定拍照事件
            picture.onclick = function(){
                canvas.style.display = "block";
                var cxt = canvas.getContext('2d');
                cxt.drawImage(document.getElementById('webcam'), 0, 0, 640, 480);
            }
            
            
            
            
        </script>
    </body>
    </html>
    

    相关文章

      网友评论

        本文标题:应用程序缓存appcache 和 WebRTC摄像头

        本文链接:https://www.haomeiwen.com/subject/sjtjqxtx.html