WebRTC

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

2017-06-13  本文已影响29人  李霖弢

appcache

调用摄像头

<!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>
上一篇下一篇

猜你喜欢

热点阅读