我们正在构建一个使用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
发布于 2017-06-06 07:44:45
2017年更新:苹果刚刚宣布,getUserMedia最终将在iOS11中得到支持。
2019年8月更新:仅适用于Safari,不适用于任何类型的WebView。谢谢克劳斯蒙的评论。
发布于 2017-02-03 03:53:50
quaggaJS页面有一个功能兼容性矩阵,它回答了您的问题:

iOS safari不支持getusermedia。
根据quaggaJS文档(https://github.com/serratus/quaggaJS#browser-support)
Quagga使用了许多现代的Web,这些API还没有被所有浏览器实现。Quagga有两种运作模式:
- Static Images
- Live Stream
我建议您在iOS上使用静态映像模式,因为不支持活动流模式。
https://stackoverflow.com/questions/41619598
复制相似问题