首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getUserMedia误差webRTC

getUserMedia误差webRTC
EN

Stack Overflow用户
提问于 2015-04-13 20:37:36
回答 2查看 1.6K关注 0票数 1

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

守则是:

代码语言:javascript
复制
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');
}

你能帮帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-15 01:48:04

我猜想上面的代码是放在html文件中并通过点击文件直接访问的( url类似于file:///...),这种方式在火狐中可以工作,但是不能在chrome中工作,为了让摄像头捕获在chrome上工作,您需要在某个服务器上托管文件。

另外,在不相关的情况下,您可以替换

代码语言:javascript
复制
    video.onloadedmetadata =function(e){
        video.play();
    }

用简单的

代码语言:javascript
复制
    video.play();
票数 0
EN

Stack Overflow用户

发布于 2015-04-23 10:09:17

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

如果您的开发机器上有一个web服务器,您可以这样托管您的代码,并“本地”查看它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29614622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档