这篇文章主要为大家详细介绍了JS 如何通过WebRTC接口获取摄像头影像并截图,具有一定的参考价值,可以用来参考一下。
WebRTC(Web Real-Time Communication,网页实时通信),是一个支持网页浏览器进行实时语音对话或视频对话的API,目前已经是W3C的推荐标准。本文主要阐述如何通过WebRTC的接口获取摄像头影像并截图。
/**
*
* @param
* @arrange (512.笔记) www.q1010.com
**/
var video = document.getElementById('video');
navigator.getUserMedia({
video: true
}, function(stream) {
video.src = window.URL.createObjectURL(stream);
video.play();
}, function(error) {
alert(error.name || error);
});
浏览器执行这段代码的时候,会提示用户是否允许使用摄像头,允许之后,网页上就可以实时显示摄像头影像了。如果不允许,就会触发错误事件。
/**
*
* @param
* @arrange (512.笔记) www.q1010.com
**/
video.addEventListener('loadeddata', function() {
console.log(this.videoWidth);
}, false);
很遗憾,上述代码在Firefox中获取到的值是0。即使在playing事件中,获取到的也还是0。所以,没其他办法的情况下只好通过setTimeout监听: JS代码如下:
/**
*
* @param
* @arrange (512.笔记) www.q1010.com
**/
function bindCapture() {
var videoWidth = video.videoWidth, videoHeight = video.videoHeight;
if (videoWidth && videoHeight) {
var canvas = document.getElementById('canvas');
canvas.width = videoWidth;
canvas.height = videoHeight;
document.getElementById('capture').addEventListener(
'click',
function() {
canvas.getContext('2d').drawImage(
video, 0, 0, videoWidth, videoHeight
);
},
false
);
} else {
setTimeout(bindCapture, 200);
}
}
bindCapture();
至此,截图功能完成。
本文来自:http://www.q1010.com/174/1640-0.html
注:关于JS 如何通过WebRTC接口获取摄像头影像并截图的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:WebRTC
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。