我尝试使用视频标记将网络摄像头实施到网站中。 它适用于Chrome,但FireFox和IE在控制台中返回错误。 有人有什么想法吗? 谢谢!
代码:
navigator.getMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mediaDevices.getUserMedia ||
navigator.msGetUserMedia ||
OTPlugin.getUserMedia;
Firefox错误:TypeError:' getUserMedia'调用了一个没有实现MediaDevices接口的对象。
IE错误:无法获取财产“getUserMedia'未定义或空引用
答案 0 :(得分:11)
您忘记了navigator.mozGetUserMedia
Firefox。 IE没有它(虽然MS Edge确实如此)。
此外,请从该列表中删除navigator.mediaDevices.getUserMedia
,因为它的工作方式不同。
我的建议: 跳过前缀混乱并尝试官方WebRTC polyfill adapter.js。然后专门使用navigator.mediaDevices.getUserMedia,因为其他所有内容都已弃用。
示例(在Chrome中使用https fiddle):
navigator.mediaDevices.getUserMedia({ video: true, audio: true })
.then(stream => video.srcObject = stream)
.catch(e => console.log(e.name + ": "+ e.message));
<video id="video" width="160" height="120" autoplay></video><br>
<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>