HTML5 实现实时扫描二维码并解析,支持 android 和 ios 平台?

2016-07-05 09:03:59 +08:00
 jacksyen

html5 能否实现呢?

5359 次点击
所在节点    问与答
13 条回复
pubby
2016-07-05 09:09:56 +08:00
微信内置浏览器调 js sdk
jacksyen
2016-07-05 09:12:12 +08:00
@pubby 如果是在自己的应用内呢?
XianZaiZhuCe
2016-07-05 09:18:08 +08:00
如果哪位用 html5 实现了,麻烦 @我一下
dcty
2016-07-05 09:57:41 +08:00
@jacksyen 自己的应用不是更简单吗,bridge.
rekulas
2016-07-05 10:03:33 +08:00
html5 怎么可能实现,连摄像头都调不了吧?除非依赖于第三方库差不多比如 React apicloud...之类
sneezry
2016-07-05 10:06:55 +08:00
HTML5 解析二维码不是什么难事( https://github.com/LazarSoft/jsqrcode ),这里难在获取 stream 。如果是用 HTML5 写 APP ,应该会有 stream 相关的 API ,如果是想在浏览器里实现,那么兼容性还很差: http://caniuse.com/#search=stream

移动端的 iOS Safari 目前完全不支持 stream ,所以无法达到“实时”的效果,要么拍照要么选照片。而 Chrome 和安卓浏览器支持得也十分有限,同时还需要在程序中指定前后摄像头(可能,但不确定,有些版本的浏览器只能使用前置摄像头用于 stream API )。
jacksyen
2016-07-05 10:09:59 +08:00
@rekulas 摄像头是可以调起的,只是不能实时扫描
3dwelcome
2016-07-05 10:12:17 +08:00
有了 emscripten ,凡是 c++能做的算法问题,基本上 js 都可以做到,神器。
learnshare
2016-07-05 10:17:38 +08:00
调起摄像头,拿到图像(可以录制视频并以一定频率截取图像),然后借助 https://github.com/cirocosta/qcode-decoder 之类的解析图像

不过性能肯定是不靠谱的
Kantoi
2016-07-05 10:29:58 +08:00
iOS 之前做过一个项目就有这个需求。纯 HTML5 应该是做不到的。
但是如果在自己应用内的话,我们的做法是:
在 HTML5 的 webview 内监听扫描二维码按钮,用户点击按钮后,之后的一系列调用 iOS 摄像头、扫描以及扫描结果都是 iOS 移动端开发做的,只需要把最后扫描结果调用 js 方法传给 HTML5 就行。
rekulas
2016-07-05 10:30:15 +08:00
@jacksyen 哦 不过你要纯 js 来做这个感觉不大可能 而且效率估计也是个问题
jacksyen
2016-07-05 10:44:17 +08:00
@Kantoi 这样子的话 ios 和 android 都需要各自开发一套调起摄像头扫描的功能,还是想能不能借助 html5 的第三方库来实现
Kantoi
2016-07-05 10:55:12 +08:00
@jacksyen 嗯 能纯 HTML5 那更好啊毕竟通用,我们当时也有你这个想法,但是最后研究发现不可行。具体难点 @sneezry 已经解释很清楚。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/290304

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX