我们正在使用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
答案 0 :(得分:11)
2017年更新:Apple刚宣布最终将在 iOS11 中支持getUserMedia。
答案 1 :(得分:5)
quaggaJS页面有一个功能兼容性矩阵,可以回答你的问题:
iOS Safari中不支持getusermedia。
根据quaggaJS文档(https://github.com/serratus/quaggaJS#browser-support)
Quagga使用了许多尚未由所有浏览器实现的现代Web API。 Quagga有两种运作方式:
分析静态图像和
使用相机解码直播中的图像。后者需要存在MediaDevices API。您可以跟踪每种模式使用的Web-API的兼容性:
我建议您在iOS上使用静态图像模式,因为不支持实时流模式。