用于在iOS上读取实时摄像头流的getUserMedia()的替代方案?

时间:2017-01-12 17:37:47

标签: javascript android ios webrtc getusermedia

我们正在使用QuaggaJS构建移动条形码扫描仪,可直接从设备的相机流中读取条形码。适用于桌面/ Android,但在iOS上根本不起作用。

从最初的研究中,我发现iOS根本不支持WebRTC / getUserMedia通过Safari或iOS Chrome(下面的相关链接),这是QuaggaJS用来读取相机流的。

我还看过this question关于在iOS上捕捉静止图像,但提供的答案仅用于捕捉静止图像,而不是用于实时读取流。

我的问题 - 还有其他方法从iOS相机中获取流吗?也许QuaggaJS以外的替代库不使用getUserMedia?我不熟悉Javascript,所以我不确定是否有可能的方法来访问getUserMedia以外的相机流。

“不”是可接受的答案;我只是在寻找更有经验的人来提供指导。

附录/相关链接:

navigator.getUserMedia alternative API for iOS safari mobile browser?

https://www.quora.com/Why-is-navigator-getUserMedia-not-supported-in-Safari

https://bloggeek.me/webrtc-apple-or-microsoft/

HTML5: getUserMedia iOS issue?

2 个答案:

答案 0 :(得分:11)

2017年更新:Apple刚宣布最终将在 iOS11 中支持getUserMedia。

答案 1 :(得分:5)

quaggaJS页面有一个功能兼容性矩阵,可以回答你的问题:

enter image description here

iOS Safari中不支持

getusermedia。

根据quaggaJS文档(https://github.com/serratus/quaggaJS#browser-support

Quagga使用了许多尚未由所有浏览器实现的现代Web API。 Quagga有两种运作方式:

  1. 分析静态图像和

  2. 使用相机解码直播中的图像。后者需要存在MediaDevices API。您可以跟踪每种模式使用的Web-API的兼容性:

    • 静态图片
    • 直播
  3. 我建议您在iOS上使用静态图像模式,因为不支持实时流模式。