我使用JMF/Webcam Frame Grabber Demo在NetBeans 7.0.1 EE中創建Java桌面應用程序,該應用程序從我的攝像頭獲取幀。如果我從NetBeans運行它(右鍵單擊項目並運行),應用程序工作正常,但如果從命令提示符運行Netbeans生成的.jar文件,它不會檢測到我的設備。NetBeans JMF項目部署
CaptureDeviceInfo device = CaptureDeviceManager.getDevice(cameraDevice);
設備爲空。
結果是相同的,如果我從項目庫中刪除jmf.jar並從那裏運行它。它會拋出以下異常:
Exception in thread "Thread-4" java.lang.NullPointerException
at desktopapplication6.DesktopApplication6View$MyNetworkThread.run(DesktopApplication6View.java:248)
Netbeans使用所有必需的lib jar創建dist和dist \ lib文件夾。在應用罐,MANIFEST.MF在看起來像這樣
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_27-b07 (Sun Microsystems Inc.)
Class-Path: lib/appframework-1.0.3.jar lib/swing-worker-1.1.jar lib/jm
f.jar
Main-Class: desktopapplication6.DesktopApplication6
我試圖創造我自己的罐子在明顯的變化,但沒有運氣。
我使用Win 7 64bit,JDK 32bit v.1.6.0_27。 (NetBeans使用相同的JDK),之後安裝JMF(v.2.1.1e)。
Classpath = %JMFHOME%\lib\jmf.jar;%JMFHOME%\lib\sound.jar;%JMFHOME%\lib
Path = %JMFHOME%\lib
JMFHOME = C:\Program Files (x86)\JMF2.1.1e
JMFRegistry檢測到我的設備(vfw:Microsoft WDM Image Capture(Win32):0)。 那麼,有沒有人知道如何使這個jar文件工作和識別我的設備?