最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js实现web调用摄像头 js截取视频画面

来源:懂视网 责编:小OO 时间:2020-11-27 21:58:21
文档

js实现web调用摄像头 js截取视频画面

本文实例为大家分享了JS实现截取视频画面的具体代码,供大家参考,具体内容如下:Html;<;p>;<;button onclick="openMedia()">;打开<;/button>;<;button onclick="closeMedia()">;关闭<;/button>;<;button onclick="drawMedia()">;截取<;/button>;<;/p>;<;video id="video" class="bg">;<;/video>;<;canvas id="qr-canvas">;<;/canvas>。Javascript。
推荐度:
导读本文实例为大家分享了JS实现截取视频画面的具体代码,供大家参考,具体内容如下:Html;<;p>;<;button onclick="openMedia()">;打开<;/button>;<;button onclick="closeMedia()">;关闭<;/button>;<;button onclick="drawMedia()">;截取<;/button>;<;/p>;<;video id="video" class="bg">;<;/video>;<;canvas id="qr-canvas">;<;/canvas>。Javascript。

本文实例为大家分享了JS实现截取视频画面的具体代码,供大家参考,具体内容如下

Html

<p>
 <button onclick="openMedia()">打开</button>
 <button onclick="closeMedia()">关闭</button>
 <button onclick="drawMedia()">截取</button>
</p>
<video id="video" class="bg"></video>
<canvas id="qr-canvas"></canvas>

Javascript

<script type="text/javascript">
 var video = document.querySelector('video');
 var text = document.getElementById('text');
 var canvas1 = document.getElementById('qr-canvas');
 var context1 = canvas1.getContext('2d');
 var mediaStreamTrack;

 // 一堆兼容代码
 window.URL = (window.URL || window.webkitURL || window.mozURL || window.msURL);
 if (navigator.mediaDevices === undefined) {
 navigator.mediaDevices = {};
 }
 if (navigator.mediaDevices.getUserMedia === undefined) {
 navigator.mediaDevices.getUserMedia = function(constraints) {
 var getUserMedia = navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
 if (!getUserMedia) {
 return Promise.reject(new Error('getUserMedia is not implemented in this browser'));
 }
 return new Promise(function(resolve, reject) {
 getUserMedia.call(navigator, constraints, resolve, reject);
 });
 }
 } 

 //摄像头调用配置
 var mediaOpts = {
 audio: false,
 video: true,
 video: { facingMode: "environment"} // 或者 "user"
 // video: { width: 1280, height: 720 }
 // video: { facingMode: { exact: "environment" } }// 或者 "user"
 }

 // 回调
 function successFunc(stream) {
 mediaStreamTrack = stream;
 video = document.querySelector('video');
 if ("srcObject" in video) {
 video.srcObject = stream
 } else {
 video.src = window.URL && window.URL.createObjectURL(stream) || stream
 }
 video.play();
 }
 function errorFunc(err) {
 alert(err.name);
 }

 // 正式启动摄像头
 function openMedia(){
 navigator.mediaDevices.getUserMedia(mediaOpts).then(successFunc).catch(errorFunc);
 }

 //关闭摄像头
 function closeMedia(){
 mediaStreamTrack.getVideoTracks().forEach(function (track) {
 track.stop();
 context1.clearRect(0, 0,context1.width, context1.height);//清除画布
 });
 }

 //截取视频
 function drawMedia(){
 canvas1.setAttribute("width", video.videoWidth);
 canvas1.setAttribute("height", video.videoHeight);
 context1.drawImage(video, 0, 0, video.videoWidth, video.videoHeight);
 }

</script>

文档

js实现web调用摄像头 js截取视频画面

本文实例为大家分享了JS实现截取视频画面的具体代码,供大家参考,具体内容如下:Html;<;p>;<;button onclick="openMedia()">;打开<;/button>;<;button onclick="closeMedia()">;关闭<;/button>;<;button onclick="drawMedia()">;截取<;/button>;<;/p>;<;video id="video" class="bg">;<;/video>;<;canvas id="qr-canvas">;<;/canvas>。Javascript。
推荐度:
标签: 视频 摄像头 使用
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top