网络摄像头初始化在Safari中不起作用

时间:2017-01-27 18:09:25

标签: javascript safari html5-video

我正在使用以下条件在Safari上初始化相机,但它不起作用。我注意到safari中的导航器对象没有属性mediaDevicesgetUserMedia

if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
        // Not adding `{ audio: true }` since we only want video now
        console.log("mediaDevices");
        navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
            cam = stream.getTracks()[0];
            video.src = window.URL.createObjectURL(stream);
            video.play();
        });
    }
    else if(navigator.getUserMedia) { // Standard
        console.log("2");
        navigator.getUserMedia({ video: true }, function(stream) {
            video.src = stream;
            video.play();
        }, errBack);
    } else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
        console.log("3");
        navigator.webkitGetUserMedia({ video: true }, function(stream){
            video.src = window.webkitURL.createObjectURL(stream);
            video.play();
        }, errBack);
    } else if(navigator.mozGetUserMedia) { // Mozilla-prefixed
        console.log("4");
        navigator.mozGetUserMedia({ video: true }, function(stream){
            video.src = window.URL.createObjectURL(stream);
            video.play();
        }, errBack);
    }

任何人都知道如何让它发挥作用?

我的HTML看起来像这样:

<video id="video" width="640" height="480" autoplay></video>
<canvas id="canvas" width="640" height="480"></canvas>

1 个答案:

答案 0 :(得分:0)

我见过的所有在Safari中访问网络摄像头的方法都是使用flash完成的。