Приложение платформы Netbeans не обнаруживает устройства веб-камеры с JMF - PullRequest
2 голосов
/ 04 мая 2011

Я пытался разработать приложение с помощью 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); 

Выход для этого «длина: 1» (1 веб-камера подключена)

Когда я делаю это в моем проекте платформы Netbeans, это выводится "length: 0".

Итак, в основном у меня есть пакет проектов Netbeans 2 модуля:

  • JMF-библиотеки (модуль-обертка с jmf.jar)
  • Модуль веб-камеры (содержит 1 Java-файл с указанным кодом)

Я добавил модуль библиотек JMF в модуль веб-камеры в качестве зависимости, но это не сработало. Я также могу подтвердить, что classpath установлен:

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 в качестве модуля-обертки может нарушить этот код?

Если у кого-то есть советы, которые помогут получить больше отладочной информации для отслеживания проблемы, я очень благодарен.

EDIT:

После долгих проб и ошибок я нашел следующее решение:

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

Однако я рад, что это работает, после переноса приложения на другой клиентский ПК для использования там не будет этих библиотек.

Так что я действительно не знаю, как решить эту проблему с Netbeans RCP. Как трудно это может быть? Я добавил баночки в обертку и поместил файл .properties в папку / release / modules / ext.

Пожалуйста, помогите мне здесь:)

Ответы [ 2 ]

4 голосов
/ 14 июня 2011

Когда я использовал JMF в Netbeans. Я должен был сделать следующее:

  1. Добавить все 5 .jars из программных файлов x86 в tools --> libraries
  2. Щелкните правой кнопкой мыши на libraries вашего проекта
  3. На панели проектов нажмите add library
  4. выберите библиотеку, в которую вы добавили 5 банок
  5. Используйте реестр JMF, чтобы проверить, обнаружена ли ваша веб-камера

Вот и все

0 голосов
/ 20 марта 2012

Вы должны добавить в build.xml: (jmf.propeties должны быть в папке COMPILED dist, рядом с Your your_jar.jar !!!)

перейдите на вкладку Файлы в Project Explorer и добавьте в build.xml

(JMF мной находится в c: \ JMF ...)

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