Захват изображения с камеры. JMF

Автор sCode, 15 февраля 2011, 15:06:21

« назад - далее »

0 Пользователи и 4 гостей просматривают эту тему.

sCode

Нашел такой код, должен захватывать изображение с камеры:
package jmftest;
 
import javax.media.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class Main extends JFrame {
 
    Player player;
 
    Main() {
        addWindowListener(new WindowAdapter() {
 
            @Override
            public void windowClosing(WindowEvent e) {
                player.stop();
                player.deallocate();
                player.close();
                System.exit(0);
            }
        });
        setSize(640, 480);
        JPanel panel = (JPanel) getContentPane();
        panel.setLayout(new BorderLayout());
        String mediaFile = "vfw:Microsoft WDM Image Capture (Win32):0";
        try {
            MediaLocator mlr = new MediaLocator(mediaFile);
            player = Manager.createRealizedPlayer(mlr);
            player.setRate(100);
            if (player.getVisualComponent() != null) {
                panel.add("Center", player.getVisualComponent());
            }
            if (player.getControlPanelComponent() != null) {
                panel.add("South", player.getControlPanelComponent());
            }
        } catch (Exception e) {
            System.err.println("Got exception " + e);
        }
    }
 
    public static void main(String[] args) {
        Main m = new Main();
        m.setVisible(true);
    }
}
Но, как я понял он для микрософтовской системы. Как же сделать его кроссплатформенным?

Vladiator

Нечто для работы с /dev/video0: http://v4l2spec.bytesex.org/spec-single/v4l2.html#IO. Мне кажется, нет чисто кроссплатформенного решения. Да, и по ссылке не Java, но можно будет попробовать понять это на примере С++.