谷歌浏览器中的getUserMedia

getUserMedia in Google Chrome

本文关键字:getUserMedia 谷歌浏览器      更新时间:2023-09-26

我无法在Google Chrome(v21)中显示视频流

代码

<html>
<head>
<script>
window.addEventListener('DOMContentLoaded', function() {
    navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
    if(navigator.getUserMedia) {
        navigator.getUserMedia({video: true, audio: true}, function(stream) {
            var video = document.getElementById('sourcevid');
            video.src = stream;
        }, function(error) {
            console.error(error.code);
        });        
    } else {
        console.log('Not supported in this browser.');
    }
}, false);
</script>
</head>
<body>
 <video id="sourcevid" autoplay>Put your fallback message here.</video>
</body>
</html>

请帮我了解问题出在哪里。

我遇到了同样的问题,我通过调用视频元素上的播放方法解决了这个问题。即使添加了自动播放属性,它也不会起作用。我对此的最佳猜测是,在加载视频标签的那一刻,源是空的,所以它无法启动。

    navigator.getUserMedia = navigator.webkitGetUserMedia || navigator.getUserMedia;
    var success = function(stream){
      var video = document.getElementById('myVideo');
      video.src = webkitURL.createObjectURL(stream);
      //Even if autoplay is true you need to call the play method
      video.play();
    }
    var error = function(err){
      console.log(err)
    }
    navigator.getUserMedia({video:true, audio:true}, success, error);

除非为Chrome Enable PeerConnection启用flag,否则这将不起作用。。。

1) 转到Chrome浏览器中的网址about:flags
2) 查找Enable PeerConnection
3) 启用它
4) 重新启动Chrome
5)
6) 利润

我遇到了类似的问题,但最初只是通过添加带有空白的源代码来解决。

<video id="sourcevid" src="" autoplay>Put your fallback message here.</video>