我想写一个网络应用程序(html+css+javaScript),当它在一个有摄像头的设备(如手机)上运行时,应该能够使用这个摄像头作为条形码扫描器。我知道有条形码阅读器库,但我想尝试编写我自己的扫描器。(因为我想详细了解它是如何工作的。)
加载web应用程序后,用户应允许应用程序使用摄像头。但是,其他一切都应该在没有用户交互的情况下工作,也就是说,在允许使用相机后,必须不需要点击任何按钮。用户的下一项工作是将相机放在条形码上,直到他按下完成按钮或关闭浏览器。但在扫描时,应该不需要点击。
我的应用程序应该经常从摄像头的视频流中进行截图。这样的快照不应该被显示(用户可以直接观看来自cam的视频流),并且它不应该被存储在任何地方。它必须在javaScript中以位图的形式出现,即一个二维数组,其中该数组中的每一项都包含单个像素的RGB值。
当脚本接收到这样的数组时,它会对其进行分析并尝试识别条形码。如果成功识别了代码,则将此代码发送到服务器。则应拍摄下一个快照。此外,如果找不到任何代码,则应拍摄新的快照。这将无休止地重复下去,直到用户退出扫描。
很高兴拥有:
我不需要相机能够看到的全屏区域。我只需要一个小的矩形裁剪(例如640x320像素)。
我知道您可以使用这个html片段将视频上传到服务器
<form action="server.cgi" method="post" enctype="multipart/form-data">
<input type="file" name="video" accept="video/*" capture>
<input type="submit" value="Upload">
</form>但我不知道这如何能帮助我解决我的问题。你能帮帮我吗?
(我不知道这是否有区别,但我使用jQuery。)
发布于 2017-01-14 03:32:01
看看getUserMedia API,你可以通过JS提示用户允许他们在网络上使用他们设备上的摄像头。然后,您可以将输入作为流进行操作。
编辑:链接到none deprecated method
https://stackoverflow.com/questions/41641931
复制相似问题