Javascript 如何在Safari和IE中访问网络摄像头?是否有getUserMedia的替代方案?

Javascript 如何在Safari和IE中访问网络摄像头?是否有getUserMedia的替代方案?,javascript,html,internet-explorer,safari,getusermedia,Javascript,Html,Internet Explorer,Safari,Getusermedia,我目前正在使用javascript访问网络摄像头,然后使用getUserMedia流式传输到浏览器,这表明Safari和Internet Explorer 11及更高版本无法访问getUserMedia 我用这个来检查是否有摄像头 navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia ||

我目前正在使用javascript访问网络摄像头,然后使用getUserMedia流式传输到浏览器,这表明Safari和Internet Explorer 11及更高版本无法访问getUserMedia

我用这个来检查是否有摄像头

navigator.getUserMedia  =   navigator.getUserMedia ||
                            navigator.webkitGetUserMedia ||
                            navigator.mozGetUserMedia ||
                            navigator.msGetUserMedia;
然后我使用这个

if (navigator.getUserMedia){
    //document.getElementById("webcam").style.display = "block";

    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);
            };

        // Put video listeners into place
        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) { // Firefox-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);
            canvasToDataURLString = canvas.toDataURL();
            var blob = dataURItoBlob(canvasToDataURLString);
            base64result = canvasToDataURLString.split(',')[1];
            //console.debug(base64result);
            document.getElementById("base64result").innerHTML = base64result;

        });
    }, false);
}
或者根本没有办法使用IE和safari访问网络摄像头? 我知道Chrome有一些限制,因为网页必须从安全的来源访问

  • 我想知道我是不是做错了
  • 我想知道getUserMedia是否还有其他替代品
    谢谢你,请客气一点,我已经尝试过谷歌搜索了,结果有很多,我只是在寻找替代方法,如果真的不可能,那就好。

    最终用户应该使用Safari和IE的Temasys WebRTC插件在每个浏览器中启用WebRTC

    因此,在最终用户端没有第三方插件的情况下,无法访问WebRTC?您有解决方案吗?我也遇到了同样的问题,请告诉我您是否找到了Safari和IE@MohdSadiq没有,我甚至没有尝试过建议的解决方案