JavaCV applet不会在Web浏览器中显示视频,仅在桌面上显示

时间:2015-01-03 10:23:05

标签: java applet javacv

我有一个通过javaCV连接安全性的Web应用程序。我的applet在桌面上执行时工作得很好。但是,当我在我的JSF页面中集成它时,没有错误,但是OpenCVFrameGrabber的实例没有启动。为什么? 下面是我在网页中调用Applet的方式(所有依赖项已经在jar中):

<applet code="com.br.spacnet.camera.CameraApplet" archive="CameraApplet.jar" width="1000" height="1000"/>

以下是applet的源代码(这里我使用本地摄像头连接进行测试):

try {

    OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0);
    jLabel1.setText(jLabel1.getText() + "; instanciou o grabber");
    //grabber.setFormat("mjpeg");
    grabber.start();
    jLabel1.setText(jLabel1.getText() + "; iniciou o Grab");
    opencv_core.IplImage frame = grabber.grab();

    while (jPanel1.isVisible()) {
        jLabel1.setText(jLabel1.getText() + "; entrou no laço");

        jPanel1.getGraphics().drawImage(frame.getBufferedImage(), 0, 0, 320, 240, null);
        jLabel1.setText(jLabel1.getText() + "; redesenhou painel");

    }
    grabber.stop();
    jLabel1.setText(jLabel1.getText() + "; parou o grabber");
    System.exit(0);
} catch (Exception ex) {

    jLabel1.setText("Erro " + ex.getMessage());
}

1 个答案:

答案 0 :(得分:0)

谢谢,安德鲁汤普森!我启用了我的Java控制台,我可以看到JRE的几个安全漏洞。所以,我在java.policy中添加了以下行,它运行正常:

权限java.util.PropertyPermission“org.bytedeco.javacpp.loadlibraries”,“read”;

权限java.util.PropertyPermission“org.bytedeco.javacpp.platform”,“read”;

权限java.security.AllPermission;

权限java.lang.RuntimePermission“shutdownHooks”;