chrome 不支持 getUserMedia()
getUserMedia() not supported in chrome
我正在尝试使用我自己的网站使用 getUserMedia() 访问我的网络摄像头,运行 使用我自己的 IP 地址。
在我再次尝试我的网站之前它一直运行良好。我试过其他演示站点,给出的错误是不支持 getUserMedia。
Chrome 版本 v47.0.2526.80m 32 位
如果我输入 localhost 而不是我的 ipadress,我就可以访问网络摄像头。它也适用于 firefox。
Chrome getUserMedia 需要安全来源 (HTTPS)。
Starting with Chrome 47, getUserMedia() requests are only allowed from secure origins: HTTPS or 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));
我不确定这是否能完全解决您的问题。但是,对于努力让 getUserMedia() 处于工作状态的人来说,这可能会有所帮助。
我遇到了一个媒介 link 帮助我解决了这个问题。
转到:chrome://flags/#unsafely-treat-insecure-origin-as-secure
启用该选项。
另外,下面会提供一个复选框。使用它向您的 HTTP 服务器提供 link。
Referr to this image for better clarity
也请提供端口号。 (在我的例子中是 8000)
我正在尝试使用我自己的网站使用 getUserMedia() 访问我的网络摄像头,运行 使用我自己的 IP 地址。
在我再次尝试我的网站之前它一直运行良好。我试过其他演示站点,给出的错误是不支持 getUserMedia。
Chrome 版本 v47.0.2526.80m 32 位
如果我输入 localhost 而不是我的 ipadress,我就可以访问网络摄像头。它也适用于 firefox。
Chrome getUserMedia 需要安全来源 (HTTPS)。
Starting with Chrome 47, getUserMedia() requests are only allowed from secure origins: HTTPS or 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));
我不确定这是否能完全解决您的问题。但是,对于努力让 getUserMedia() 处于工作状态的人来说,这可能会有所帮助。
我遇到了一个媒介 link 帮助我解决了这个问题。
转到:chrome://flags/#unsafely-treat-insecure-origin-as-secure
启用该选项。
另外,下面会提供一个复选框。使用它向您的 HTTP 服务器提供 link。
Referr to this image for better clarity
也请提供端口号。 (在我的例子中是 8000)