Netbeans平台应用程序不能检测带有JMF的网络摄像头设备



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

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

在一个常规的Java项目中,我有以下代码:
Vector webcams = CaptureDeviceManager.getDeviceList(null);
int length = webcams.size();
System.out.println("length: " +length); 

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

当我在我的Netbeans平台项目中这样做时,输出是"length: 0"。

基本上我有我的Netbeans项目套件两个模块:

  • JMF库(使用JMF .jar的包装模块)
  • 摄像头模块(包含1个java文件与上述代码)

我将JMF库模块作为一个依赖项添加到Webcam模块中,但这并没有奏效。我还可以确认设置了类路径:

Boot & Ext. Classpath   = C:Program Files (x86)Javajdk1.6.0_25jrelibresources.jar;C:Program Files (x86)Javajdk1.6.0_25jrelibrt.jar;
C:Program Files (x86)Javajdk1.6.0_25jrelibsunrsasign.jar;C:Program Files (x86)Javajdk1.6.0_25jrelibjsse.jar;
C:Program Files (x86)Javajdk1.6.0_25jrelibjce.jar;C:Program Files (x86)Javajdk1.6.0_25jrelibcharsets.jar;C:Program Files (x86)Javajdk1.6.0_25jrelibmodulesjdk.boot.jar;C:Program Files (x86)Javajdk1.6.0_25jreclasses;C:Program Files (x86)Javajdk1.6.0_25jrelibextdnsns.jar;**C:Program Files (x86)Javajdk1.6.0_25jrelibextjmf.ja**r;
C:Program Files (x86)Javajdk1.6.0_25jrelibextlocaledata.jar;C:Program Files (x86)Javajdk1.6.0_25jrelibextsound.jar;C:Program Files (x86)Javajdk1.6.0_25jrelibextsunjce_provider.jar;
C:Program Files (x86)Javajdk1.6.0_25jrelibextsunmscapi.jar;C:Program Files (x86)Javajdk1.6.0_25jrelibextsunpkcs11.jar
我真的被困在这里了。Netbeans RCP有什么特别之处,以至于添加jmf.jar作为包装器模块似乎会破坏这段代码?

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

编辑:

经过反复试验,我找到了以下解决方案:

Copy c:Progra.... x86JMF...lib* to c:Program .. x86jdklib*
Including the jmf.properties file

然而,我很高兴这是有效的,一旦应用程序转移到另一个客户端PC使用,它将不会有那些库在那里。

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

请帮我一下:)

当我在Netbeans使用JMF时。我必须这样做:

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

这所有的

您必须在build.xml中添加:属性必须在编译dist文件夹中,靠近你的your_jar.jar!!)

进入项目浏览器的"文件"选项卡,并添加到build.xml

(JMF由我在c:JMF…)

<target name="-post-compile">
         <copy file="C:JMFlibjmf.properties" todir="${dist.dir}"/>
    </target>

相关内容

  • 没有找到相关文章

最新更新