我正在使用webrtc作为第一个教程的web应用程序,我只是试图通过getUserMedia访问我的相机和麦克风。如何在Chrome中使用getUserMedia对象播放视频
这里是我的代码:
的index.html:
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<nav class="navbar navbar-fixed-top navbar-dark bg-inverse">
<a href="#" class="navbar-brand">Demo WebRTC</a>
</nav>
<div class="container">
<div class="row">
<div class="col-sm-6">
<h2>Réccéption</h2>
<video id="receiver-video" width="100%" height="400px" src=""></video>
</div>
<div class="col-sm-6">
<h2>Envoi</h2>
<video id="emitter-video" width="100%" height="400px" src=""></video>
<p><button id="start">Démarrer la conversation</button></p>
</div>
</div>
</div>
<script src="app.js" charset="utf-8"></script>
</body>
</html>
app.js
document.querySelector('#start').addEventListener('click', function function_name(e) {
navigator.getUserMedia = (navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia);
navigator.getUserMedia({
video: true,
audio: true
}, function(stream){
let emitterVideo = document.querySelector('#emitter-video')
emitterVideo.src = window.URL.createObjectURL(stream)
emitterVideo.play()
}, function() {})
})
有了这个代码,我能够访问摄像头和麦克风,并在FireFox中播放视频,但是当我在Chrome中打开它时,我无法播放视频,并在控制台中抛出以下错误:
Uncaught (in promise) DOMException: Failed to load because no supported source was found.
Promise (async)
(anonymous) @ app.js:15
我使用的是Chrome版本60.0.3112.90。
您使用HTTP还是HTTPS? –