【问题标题】:getusermedia not working in firefoxgetusermedia 在 Firefox 中不起作用
【发布时间】:2016-02-09 16:11:35
【问题描述】:

getusermedia 不能在 Firefox 中工作,但可以在 chrome 和 IE 中工作。我有最新的 Firefox 44.0.1。从我在网上阅读的内容来看,firefox 似乎不再支持这一点,我需要使用前缀吗?

【问题讨论】:

  • 有任何代码与该声明相符吗?旧的特定于浏览器的navigator.mozGetUserMedia (Firefox) 和navigator.webkitGetUserMedia (Chrome) 仍然像往常一样存在,因此那里没有发生重大变化。检查你的代码。也就是说,答案中显示的现代版本更好。

标签: javascript firefox getusermedia


【解决方案1】:

在所有浏览器中,现在正确使用的是navigator.mediaDevices.getUserMedia

使用 Promises 的具有更好、现代设计的 API 底层:

navigator.mediaDevices.getUserMedia(constraints)
.then(function(mediaStream) { ... })
.catch(function(error) { ... })

旧的navigator.getUserMedia(constraints, successCallback, errorCallback) 已过时;目前的浏览器都支持navigator.mediaDevices.getUserMedia

要支持非常旧的浏览器,您仍然可以使用navigator.mediaDevices.getUserMedia,但只能使用adapter.js polyfill

<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>

【讨论】:

  • 尝试修复一些旧代码,但是当我在 Firefox 中执行 alert(navigator.mediaDevices) 时,它会提示“未定义”。
【解决方案2】:

我想发表评论,但我没有足够的积分。所以我必须在这里提供一个答案。

我刚刚遇到了类似的问题,并且在 chrome 中一切正常,但 Firefox 只是给了我一个内部错误。事实证明,我不能让两个应用程序使用一个设备。我关闭了 chrome,然后 firefox 工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    相关资源
    最近更新 更多