gpt4 book ai didi

javascript - 在不安全的来源中获取 navigator.getUserMedia() 不再有效

转载 作者:行者123 更新时间:2023-12-03 08:08:20 27 4
gpt4 key购买 nike

我正在使用 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>

最佳答案

Chrome 现在(截至 47+)强制执行一项新的安全规则,即使用 getUserMedia 的页面必须通过 HTTPS 提供服务。这是为了降低恶意行为者使用摄像头或麦克风设备监视用户的风险。它已经宣布了 4 个多月了。

至于您的其他评论“在网络中使用 getUserMedia 并发现它已被弃用并且浏览器将来不支持它” - 这是完全不正确的。

关于javascript - 在不安全的来源中获取 navigator.getUserMedia() 不再有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34263618/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com