无法找到播放器:vfw:Microsoft WDM图像捕获(Win32):0

时间:2013-04-13 08:52:48

标签: java webcam jmf

我正在尝试使用您的网络摄像头拍照,但我收到错误:

  

javax.media.NoPlayerException:找不到以下播放器:vfw:Microsoft   WDM图像捕获(Win32):0

我有一个简单的标准代码:

public class Main extends JFrame {

    Player player;

    Main() {
        addWindowListener(new WindowAdapter() {

            @Override
            public void windowClosing(WindowEvent e) {
                try{
                    player.stop();
                    player.deallocate();
                    player.close();
                }catch(Exception ex){}
                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);
    }
}

我已经检查了JMF Registry,相机匹配,这是毫无疑问的:

  

Name = vfw:Microsoft WDM Image Capture(Win32):0

     

Locator = vfw:// 0

JMStudio也正常工作并显示视频

我还阅读了有关 jmf.propertis 的页面,并将该文件放在Eclipse中项目的 root 中,以及根 src < /强>

  

Accessing webcams with JMF?

现在我不知道为什么它不起作用?

1 个答案:

答案 0 :(得分:0)

  1. 需要在Windows环境变量中将Java路径设置为32位jdk。
  2. 然后使用JMF捕获设备
  3. 向项目添加适当的JMF jar
  4. 运行项目。

对我有用。