我正在尝试使用我自己的网站使用我自己的IP地址使用getUserMedia()来访问我的网络摄像头.
它工作正常,直到我再次尝试我的网站.我曾尝试过另一个演示网站,并且给出的错误是不支持getUserMedia.
Chrome版本v47.0.2526.80m 32位
如果我输入localhost而不是我的ipadress,我可以访问网络摄像头.它也适用于Firefox.
Chrome需要getUserMedia的安全来源(HTTPS).
从Chrome 47开始,getUserMedia()请求仅允许来自安全来源:HTTPS或localhost.
https://developers.google.com/web/updates/2015/10/chrome-47-webrtc?hl=en
Chrome 最终实现了新navigator.mediaDevices.getUserMedia()
方法,但他们添加了一个安全措施,可以防止来自不安全地址的呼叫(非https或非本地主机服务器)
你会这样称呼它:
var video = document.querySelector('video'); navigator.mediaDevices.getUserMedia({video:true}).then(function(mediaStream){ window.stream = mediaStream; video.src = URL.createObjectURL(mediaStream); video.play(); });
或者您可以使用官方webRTC polyfill adpater.js库.
var constraints = { video: true, audio: true }; navigator.mediaDevices.getUserMedia(constraints) .then(stream => video.srcObject = stream) .catch(e => console.error(e));