java - Netbeans 平台应用程序未使用 JMF 检测网络摄像头设备

标签 java netbeans jmf

我一直在尝试使用 Netbeans RCP 开发一个应用程序来从网络摄像头抓取图像。 简单明了,它可以在常规 Java 项目中运行。

所以首先必须安装 JMF(我使用的是 Windows 7 64 位,(JMF 需要 32 位 JDK)。

在常规 Java 项目中,我有以下代码:

Vector webcams = CaptureDeviceManager.getDeviceList(null);
int length = webcams.size();
System.out.println("length: " +length); 

输出为“length: 1”(已连接 1 个网络摄像头)

当我在 Netbeans 平台项目中执行此操作时,此输出为“长度:0”。

所以基本上我有我的 Netbeans 项目套件 2个模块:

  • JMF 库(带有 jmf.jar 的包装模块)
  • 网络摄像头模块(包含 1 个带有上述代码的 java 文件)

我将 JMF 库模块作为依赖项添加到网络摄像头模块中,但这并没有达到目的。 我还可以确认类路径已设置:

Boot & Ext. Classpath   = C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\resources.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\rt.jar;
C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\sunrsasign.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\jsse.jar;
C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\jce.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\charsets.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\modules\jdk.boot.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\classes;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\dnsns.jar;**C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\jmf.ja**r;
C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\localedata.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\sound.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\sunjce_provider.jar;
C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\sunmscapi.jar;C:\Program Files (x86)\Java\jdk1.6.0_25\jre\lib\ext\sunpkcs11.jar

我真的被困在这里了。 Netbeans RCP 有什么特别之处,以至于添加 jmf.jar 作为包装器模块似乎会破坏此代码?

如果有人提供一些提示来帮助获取更多调试信息来跟踪问题,我将非常感激。

编辑:

经过多次尝试和错误,我找到了以下解决方案:

Copy c:\Progra.... x86\JMF...\lib\* to c:\Program .. x86\jdk\lib\*
Including the jmf.properties file

不过,我很高兴这能起作用,一旦应用程序转移到另一台客户端 PC 上使用,那里就不会再有这些库了。

所以我真的不知道如何用 Netbeans RCP 解决这个问题。它能有多难?我将 jar 添加到包装器中,还将 .properties 文件放置在/release/modules/ext 文件夹中。

请帮帮我:)

最佳答案

当我在 Netbeans 中使用 JMF 时。我必须执行以下操作:

  1. 将程序文件 x86 中的所有 5 个 .jar 添加到 tools --> Library
  2. 右键单击项目的
  3. 在项目 Pane 中,点击添加库
  4. 选择您添加了 5 个 jar 的库
  5. 使用 JMF 注册表检查是否检测到您的网络摄像头

仅此而已

关于java - Netbeans 平台应用程序未使用 JMF 检测网络摄像头设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5887383/

相关文章:

netbeans - 代号一建立在 netbeans 7.1 上

java - 更改 NodeTree 的弹出菜单

Java 线程 - 奇怪的 Thread.interrupted() 和 future.cancel(true) 行为

java - 有人可以改进 indexOf 在 Java 中的递归实现吗?

java - 如何让 NetBeans 自动将您移动到大括号内?

java - JMD 的替代方案

java - 我无法使用 JMF

java - 生成数据库 ER 图所需的 Java API

java - 我有一个java代码,无法理解界面

java - media.getDuration().toSeconds() 在某些歌曲上返回 0