通过智能手机相机从网络应用扫描条形码

时间:2014-05-19 02:28:29

标签: java mobile web-applications zxing barcode-scanner

我有两种通过智能手机相机扫描条形码的方法。首先我使用

<input id="demoFile" type="file" accept="image/*;capture=camera">
在搜索了一些网站后,我找到了基于网络的网络摄像头条形码解码器,我发现它使用了视频,所以我使用了第二种方法

<body>
<div id="container">
    <video autoplay="true" id="videoElement"></video>
</div>
<script>
 var video = document.querySelector("#videoElement");

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia || navigator.oGetUserMedia;

if (navigator.getUserMedia) {       
    navigator.getUserMedia({video: true}, handleVideo, videoError);
}

function handleVideo(stream) {
    video.src = window.URL.createObjectURL(stream);
}

</script>
</body>

它可以从我的手机访问前置摄像头。 问题是 1.如何将html中的视频属性作为java中的对象? 这是从图像

解码条形码的代码
InputStream barCodeInputStream = new FileInputStream("file.jpg");  
BufferedImage barCodeBufferedImage = ImageIO.read(barCodeInputStream);  

LuminanceSource source = new BufferedImageLuminanceSource(barCodeBufferedImage);  
BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));  
Reader reader = new MultiFormatReader();  
Result result = reader.decode(bitmap);  

我不知道如何更改此部分

InputStream barCodeInputStream = new FileInputStream("file.jpg");  
BufferedImage barCodeBufferedImage = ImageIO.read(barCodeInputStream);

进入我的视频对象?

  1. 如何更改视频设置,以便它使用后置摄像头而不是前置?
  2. 注意:我是java的新手,目前正在使用Struts2框架。任何帮助将不胜感激。

0 个答案:

没有答案