如何在浏览器中运行web-cam capture jar api

时间:2015-02-03 08:44:07

标签: java swing applet browser webcam-capture

我正在使用以下http://webcam-capture.sarxos.pl/ api打开网络摄像头并使用Java swing捕获图片,一切正常但问题是它在使用JFrame的单独窗口中作为可执行jar打开。但我的要求是在浏览器中打开网络摄像头。我用来打开网络摄像头的代码如下:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;

import com.github.sarxos.webcam.Webcam;
import com.github.sarxos.webcam.WebcamPanel;


public class WebcamPanelFillAreaExample  {

    public static void main(String[] args) throws InterruptedException {

        final Webcam webcam = Webcam.getDefault();

        final WebcamPanel panel = new WebcamPanel(webcam);
        //panel.setFPSDisplayed(true);
        panel.setFillArea(true);

        JButton button = new JButton("Capture");
        button.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {

                if(e.getActionCommand().equals("Capture")){

                    System.out.println("done::");
                    // get image
                    BufferedImage image = webcam.getImage();

                    // save image to PNG file
                    try {
                        ImageIO.write(image, "PNG", new File("test.png"));

                    } catch (IOException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }
            }
        });
        JFrame window = new JFrame("Frame");
        window.add(panel);
        panel.add(button);
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.pack();
        window.setVisible(true);

    }





}

我使用的库是:

1. webcam-capture-0.3.10.jar
2. bridj-0.6.2.jar
3. slf4j-api-1.7.2.jar

请帮助我改变代码,以便在浏览器中打开网络摄像头,而不是通过可执行的jar窗口打开。提前致谢。任何示例代码对我都有帮助。

0 个答案:

没有答案