网页第一次调用摄像头可以,同一个方法第二次就不行。可能和civil有关

一个简单的摄像头程序。用web输入触发调用。第一次输入调用可以正常显示摄像头内容。第二次同一个网页地方输入后,只是弹出摄像头显示窗口,并没有摄像头内容。

下面根据操作时间顺序依次列出各个运行截图:
第一次网页运行

第一次网页运行

提示框随便输入点,触发引导摄像头。

提示框随便输入点,触发引导摄像头

代码先执行index.jsp,下面的红圈是方法入口

代码先执行index.jsp,下面的红圈是方法入口

进入human的getee方法调用Ctest

图片说明

Ctest里面开始内容,红框内容是调用摄像头语句

Ctest里面开始内容,红框内容是调用摄像头语句

继续执行看到我自己,并且贴近后会扫描到我手中的二维码图片内容,并解读出内容。

继续执行看到我自己,并且贴近后会扫描到我手中的二维码图片内容,并解读出内容

再次(注意是第二次!!!!!!) 我随便网页里输入个 test2222,摄像头窗口就空空如野了

再次(注意是第二次!!!!!!) 我随便网页里输入个 test2222,摄像头窗口就空空如野了

下面是报错信息

报错信息

网上搜了都是英文结果,无奈啊

图片说明

com.google.zxing.NotFoundException
扫描不到...
com.google.zxing.NotFoundException
扫描不到...
com.google.zxing.NotFoundException
二维码解析结果:The fish is meat.

inputTEXTishere!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(The fish is meat. )1
[[[[((((test2222))))]]]]DSCaptureException::FailWithException: hr=0x800705aa.
八月 05, 2017 4:11:35 下午 net.sf.fmj.media.protocol.civil.DataSource start
警告: com.lti.civil.CaptureException: pMediaControl->Run() failed: 0
com.lti.civil.CaptureException: pMediaControl->Run() failed: 0
at com.lti.civil.impl.jni.NativeCaptureStream.nativeStart(Native Method)
at com.lti.civil.impl.jni.NativeCaptureStream.start(NativeCaptureStream.java:52)
at net.sf.fmj.media.protocol.civil.DataSource.start(DataSource.java:213)
at net.sf.fmj.ejmf.toolkit.media.AbstractPlayer.doRealize(AbstractPlayer.java:814)
at net.sf.fmj.ejmf.toolkit.media.AbstractController.synchronousRealize(AbstractController.java:1149)
at net.sf.fmj.ejmf.toolkit.media.AbstractController$1.run(AbstractController.java:488)

扫描不到...
com.google.zxing.NotFoundException
扫描不到...
com.google.zxing.NotFoundException
扫描不到...

下面是关键区域,调用摄像头的代码截图:
红色的是跳出选择摄像头的代码,如果把红色的代码禁用,启用蓝色代码则不弹出摄像头选择框。对于这个bug没啥影响应该。

图片说明

求问为啥第二次调用不成功呢?

摄像头调用完毕要关闭的,用js写在网页关闭的代码中

 window.navigator.getUserMedia(param, function(stream) {
video.stop();
video.src = null; //加上这两行
       video.src =window.URL.createObjectURL(stream);
      }, videoError );

图片说明

放在了textarea的语句里为啥报错呢? 我对JSP十分不了解。。。。
下面是index.jsp的源代码,求大神指教:

<%@ page contentType="text/html; charset=GBK" %>









翻译程序
微信daizongfu123456
右边输入翻译内容





id="lancy"
class="human.Human"
scope="page"/>
<%
lancy.setName("lancy");
lancy.setAge(23);
%>

"+"请输入合法字符"); } %>

擦源代码需要截图呢。。。。要不粘贴在这里直接编译成网页了

图片说明

图片说明