webrtc,人脸拍照小功能

来源:互联网 发布:解压for mac 编辑:程序博客网 时间:2024/05/01 18:22
[html] view plain copy
  1. <!DOCTYPE html>    
  2. <html>    
  3.     <head>    
  4.         <meta charset="utf-8">    
  5.         <title>学习webrtc-chapter2:get user media</title>    
  6.         <style>  
  7.         video,canvas{  
  8.             border:1px solid gray;  
  9.             width:400px;  
  10.             height:400px;  
  11.             border-radius:50%;  
  12.         }     
  13.         </style>  
  14.     </head>    
  15.     <body>    
  16.         <video autoplay></video>   
  17.         <canvas id="myCanvas"></canvas>  
  18.         <button id="capture">拍照</button>  
  19.         <script src="photobooth.js"></script>   
  20.   
  21.     </body>    

  1. </html>   



  1. [javascript] view plain copy
    1. function hasUserMedia(){//判断是否支持调用设备api,因为浏览器不同所以判断方式不同哦    
    2.     return !!(navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia);    
    3. }    
    4. if(hasUserMedia()){    
    5.     //alert(navigator.mozGetUserMedia)    
    6.     navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;    
    7.     var video=document.querySelector("video");    
    8.     var canvas=document.querySelector("canvas");  
    9.     var streaming = false;  
    10.     navigator.getUserMedia({    
    11.         video:true,//开启视频    
    12.         audio:false//先关闭音频,因为会有回响,以后两台电脑通信不会有响声    
    13.     },function(stream){//将视频流交给video    
    14.         video.src=window.URL.createObjectURL(stream);     
    15.         streaming = true;  
    16.     },function(err){    
    17.         console.log("capturing",err)    
    18.     });    
    19.     document.querySelector("#capture").addEventListener("click",function(event){  
    20.         if(streaming){  
    21.             //alert(video.clientHeight)  
    22.             //canvas.width = video.clientWidth;  
    23.             //canvas.height= video.clientHeight;  
    24.             canvas.width = 800;  
    25.             canvas.height = 800;  
    26.             var context = canvas.getContext('2d');  
    27.             context.drawImage(video,20,20)  
    28.         }  
    29.     })  
    30. }else{    
    31.     alert("浏览器暂不支持")    
    32. }  

0 0
原创粉丝点击