【问题标题】:getUserMedia Error webRTCgetUserMedia 错误 webRTC
【发布时间】:2015-04-13 20:37:36
【问题描述】:

我开始使用 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');
}

你能帮帮我吗?

【问题讨论】:

  • 你遇到什么样的错误,在什么浏览器中?
  • 没有错误但无法打开相机,我正在使用 chrome

标签: webrtc getusermedia


【解决方案1】:

我猜上面的代码是放在一个 html 文件中,并通过点击文件直接访问(和 url 就像file:///...),这种方式可以在 Firefox 中工作,但 不能在 chrome 中,要让相机捕捉在 chrome 上工作,您需要在某些服务器中托管文件。

另外,在不相关的注释上,您可以替换

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

简单

    video.play();

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多