【发布时间】:2016-05-18 13:12:38
【问题描述】:
我正在使用 navigator.getUserMedia 在 html5 中捕获网络摄像头图像。直到上周它都可以正常工作。现在获取 getUserMedia() 之类的消息不再适用于不安全的来源和从网络摄像头损坏的捕获图像。我在网上搜索了 getUserMedia,发现它已被弃用,浏览器将来也不支持它。是否有适用于所有浏览器的 getUserMedia 替代功能。
我的html代码是
<video id="video" width="640" height="480" autoplay></video>
<button id="snap" class="sexyButton">Snap</button>
<canvas id="canvas" width="640" height="480"></canvas>
脚本功能是
<script>
window.addEventListener("DOMContentLoaded", function() {
// Grab elements, create settings, etc.
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d"),
video = document.getElementById("video"),
videoObj = { "video": true },
errBack = function(error) {
console.log("Video capture error: ", error.code);
};
if(navigator.getUserMedia) { // Standard
navigator.getUserMedia(videoObj, function(stream) {
video.src = stream;
video.play();
}, errBack);
} else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
navigator.webkitGetUserMedia(videoObj, function(stream){
video.src = window.webkitURL.createObjectURL(stream);
video.play();
}, errBack);
} else if(navigator.mozGetUserMedia) { // WebKit-prefixed
navigator.mozGetUserMedia(videoObj, function(stream){
video.src = window.URL.createObjectURL(stream);
video.play();
}, errBack);
}
// Trigger photo take
document.getElementById("snap").addEventListener("click", function() {
context.drawImage(video, 0, 0, 640, 480);
});
}, false);
</script>
【问题讨论】:
标签: javascript html