getUserMedia错误webRTC

时间:2015-04-13 20:37:36

标签: webrtc getusermedia

我从webRTC开始并尝试访问我的相机,但代码并不起作用,尽管它没有错误。

代码是:

navigator.getUserMedia = ( navigator.getUserMedia ||           
                               navigator.webkitGetUserMedia || navigator.mozGetUserMedia 
                            || navigator.msGetUserMedia);
if (navigator.getUserMedia){
    var constrains ={video:true};
    function successCallback(localMediaStream){
        var video = document.querySelector("video");
        window.stream = localMediaStream;
        video.src = window.URL.createObjectURL(localMediaStream);
        video.onloadedmetadata =function(e){
            video.play();
        }
    }
    function errorCallback(error){
        console.log("Error: ",error);
    }
    navigator.getUserMedia(constrains,successCallback,errorCallback);
}else{
    alert('Sorry, the browser you are using doesn\'t support getUserMedia');
}

你能帮我吗?

2 个答案:

答案 0 :(得分:0)

我猜测上面的代码放在一个html文件中并通过点击文件直接访问(并且url就像file:///...),这种方法可以在firefox中使用,但不在chrome < / strong>,要使相机捕获工作在chrome上,您需要主机某个服务器中的文件。

另外,在不相关的说明中,您可以替换

    video.onloadedmetadata =function(e){
        video.play();
    }

只需

    video.play();

答案 1 :(得分:0)

你是否有一个有效的HTML5视频元素来设置流是不明显的。如果这样做,您可以使用开发人员工具验证是否已在源上设置了流。

如果您的开发计算机上有Web服务器,您可以通过这种方式托管代码,并在本地查看它。