欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js调用摄像头

程序员文章站 2022-07-04 23:02:43
详情源码请参见下方的 GitHub !!! ......

js调用摄像头

详情源码请参见下方的 github  !!!

 1     <div>
 2         <b>调用移动端摄像头</b><br>
 3         <label>照相机: <input type="file" id='image' accept="image/*" capture='camera'></label>
 4         <label>摄像机: <input type="file" id='video' accept="video/*" capture='camcorder'></label>
 5     </div>
 6     <hr>
 7     <div class="box1">
 8         <div>
 9             <button onclick="getmedia()">开启摄像头</button>
10             <video id="video" width="600" height="400" autoplay="autoplay"></video>
11         </div>
12         <div>
13             <button onclick="takephoto()">拍照</button>
14             <canvas id="canvas" width="600" height="400"></canvas>
15         </div>
16     </div>
17     <script>
18         function getmedia() {
19             let constraints = {
20                 video: {
21                     width: 600,
22                     height: 400
23                 },
24                 audio: true
25             };
26             //获得video摄像头区域
27             let video = document.getelementbyid("video");
28 
29             // 这里介绍新的方法,返回一个 promise对象
30             // 这个promise对象返回成功后的回调函数带一个 mediastream 对象作为其参数
31             // then()是promise对象里的方法
32             // then()方法是异步执行,当then()前的方法执行完后再执行then()内部的程序
33 
34             // 避免数据没有获取到
35             let promise = navigator.mediadevices.getusermedia(constraints);
36             // 成功调用
37             promise.then(function (mediastream) {
38                 /* 使用这个mediastream */
39                 video.srcobject = mediastream;
40                 video.play();
41                 console.log(mediastream); // 对象
42             })
43             // 失败调用
44             promise.catch(function (err) {
45                 /* 处理error */
46                 console.log(err); // 拒签
47             });
48         }
49 
50         function takephoto() {
51             //获得canvas对象
52             let video = document.getelementbyid("video");
53             let canvas = document.getelementbyid("canvas");
54             let ctx = canvas.getcontext('2d');
55             ctx.drawimage(video, 0, 0, 600, 400);
56         }
57     </script>