我们正在使用QuaggaJS构建移动条形码扫描仪,直接从设备的相机流中读取条形码.适用于桌面/ Android,但在iOS上根本不起作用.
从最初的研究中,我发现iOS根本不支持WebRTC/getUserMedia
通过Safari或iOS Chrome(下面的相关链接),这是QuaggaJS用来读取相机流的内容.
我也看到了这个问题,关于在iOS上拍摄静态图像,但所提供的答案只有拍摄静态图像,而不是用于读取数据流的实时性.
我的问题 - 还有其他方法可以从iOS相机中获取流吗?也许QuaggaJS以外的替代库不使用getUserMedia
?我不熟悉Javascript,所以我不确定是否有可能的方法来访问除了以外的相机流getUserMedia
.
这里的"不"是可以接受的答案; 我只是在寻找更有经验的人来提供指导.
附录/相关链接:
用于iOS Safari手机浏览器的navigator.getUserMedia替代API?
https://www.quora.com/Why-is-navigator-getUserMedia-not-supported-in-Safari
https://bloggeek.me/webrtc-apple-or-microsoft/
HTML5:getUserMedia iOS问题?
2017年更新:Apple刚刚宣布,最终将在iOS11中支持getUserMedia .
quaggaJS页面有一个功能兼容性矩阵,可以回答你的问题:
iOS Safari中不支持getusermedia.
根据quaggaJS文档(https://github.com/serratus/quaggaJS#browser-support)
Quagga使用了许多尚未被所有浏览器实现的现代Web API.Quagga有两种运作模式:
分析静态图像和
使用相机解码直播中的图像.后者需要存在MediaDevices API.您可以跟踪每种模式使用的Web-API的兼容性:
静态图像
现场直播
我建议您在iOS上使用静态图像模式,因为不支持实时流模式.