我正试图用你的网络摄像头拍照,但我得到一个错误:
我有一个简单的标准代码:javax.media。NoPlayerException:无法找到一个播放器:vfw:MicrosoftWDM图像捕获(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注册表,相机匹配,这是毫无疑问的:
Name = vfw:Microsoft WDM Image Capture (Win32):0
Locator = vfw://0
JMStudio也正常工作并显示视频
我还阅读了关于jmf的页面。并将文件放在Eclipse项目的根目录中,以及根目录src
中使用JMF访问网络摄像头?
现在我不知道为什么它不能工作?
- 需要在windows环境变量中设置java path为32位jdk。
- 然后使用JMF捕获设备
- 添加适当的JMF jar到项目