webrtc,人脸拍照小功能

  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>    
  22. </html>    


[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. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值