【问题标题】:Is WebRTC GetUserMedia() broken in Firefox 28?WebRTC GetUserMedia() 在 Firefox 28 中是否损坏?
【发布时间】:2014-04-10 18:04:04
【问题描述】:
在this HTML5Rocks WebRTC Demo page 上,如果我在 Firefox 或 chrome 中打开任何演示,我会收到此错误:
getUserMedia() not supported in your browser
当我检查时:http://caniuse.com/stream
它应该适用于 Chrome 21+ 和 FF 17+
有趣的是,该演示在 Opera 12 中运行良好。谁能告诉我该演示有什么问题以及如何解决?
[编辑]
显然我不在最新的 Chrome 上(我还在 33 上)。它正在等待我重新启动以切换到 chrome 34。重新启动后它工作正常。但它仍然无法在 Firefox 中运行。
【问题讨论】:
标签:
html
webrtc
getusermedia
【解决方案1】:
绝对不是。我已经测试了我的 WebRTC 应用程序,它工作得很好。您是否将其测试为mozGetUserMedia?我猜该站点没有使用 shim,仅使用 webkit 进行演示实现。
您可能希望将 adapter.js 用作您的应用程序的 shim。
编辑:是的,它只查找非前缀和webkit 前缀的实现。
下面是从页面本身获取的第一个捕获按钮的代码。
var button = document.querySelector('#capture-button');
var localMediaStream = null;
button.addEventListener('click', function(e) {
if (navigator.getUserMedia) {
navigator.getUserMedia('video', function(stream) {
video.src = stream;
video.controls = true;
localMediaStream = stream;
}, errorCallback);
} else if (navigator.webkitGetUserMedia) {
navigator.webkitGetUserMedia({video: true}, function(stream) {
video.src = window.URL.createObjectURL(stream);
video.controls = true;
localMediaStream = stream;
}, errorCallback);
} else {
errorCallback({target: video});
}
}, false);