有一段时间,我一直在努力解决在某些android 设备上 getUserMedia 的承诺无法解决的现象(既不是成功,也不是错误或捕获)。即使是许可提示也确实显示,但之后什么也没有发生。
它发生在约束要求设备提供不支持的视频分辨率时。据我了解,这应该会导致相应消息或流的另一种解决方案出现错误。但什么都没有。我什至必须终止 Firefox 的进程才能让任何类似的请求再次工作。
如果使用 adapter-latest.js 并在 Chrome 上测试相同的代码,它会按预期工作,并打开具有下一个支持分辨率的流。这适用于所有设备。
这是约束对象,但我使用 min/max/ideal/exact 参数测试了不同的版本:
{
audio: false,
video: {
facingMode: { ideal: "environment" },
width: { min: 800 }
}
}
使用我当前的具有 Android 5.0.2(工作)和 7.0 的设备进行了测试。(不工作)。两者都使用相同的 Firefox 移动版本/内部版本55.0.2。
我在 Firefox 移动版 46.0 上对其进行了测试。一切正常。
那么有什么想法吗?