1

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

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,相机匹配,这是毫无疑问的:

名称 = vfw:Microsoft WDM 图像捕获 (Win32):0

定位器 = vfw://0

并且JMStudio也正常工作并显示视频

我还阅读了这个关于jmf.propertis的页面,并将该文件放在 Eclipse 项目的根目录中,以及根src中

使用 JMF 访问网络摄像头?

现在我不知道为什么它不能工作?

4

1 回答 1

0
  1. 需要在windows环境变量中设置java路径为32bit jdk。
  2. 然后使用 JMF 来捕获设备
  3. 将正确的 JMF jar 添加到项目中
  4. 运行项目。

它对我有用。

于 2019-07-14T09:49:27.487 回答