Реестру JMF не удалось добавить элемент (Vista)
-
19-09-2019 - |
Вопрос
Я использую JMF для захвата видеопотока (веб-камеры) в моем Java-проекте.
Камера, которую я использую, распознается JMF (JFMStudio), и мне удается получить видеопоток.
Однако в редакторе реестра JMF есть список доступных устройств захвата, когда я нажимаю "Добавить" на один из элементов (включая тот, который мне нужен) Я получаю сообщение об ошибке "Не удалось добавить элемент".Следовательно, эта камера не установлена в ее реестре (бог знает где), и в дальнейшем она не распознается моим проектом:
RGBFormat fmt = новый RGBFormat();// может быть YUV - не имеет значения Вектор v = CaptureDeviceManager.getDeviceList(fmt);
v пуст (хотя я знаю, что источник видео распознается Java, поскольку мне удается получить видео в JMF Studio).
Теперь это происходит только в Vista (где же еще), а не в XP.
У меня есть подозрение, что каким-то образом система безопасности Vista блокирует Java от записи файла реестра, но, конечно, я могу ошибаться.
Еще один комментарий:это устройство vfw: Microsoft WDM Image Capture (Win32): 0.
Есть какие - нибудь идеи ?
Решение
Адресовано всем, кто в будущем столкнется с такой же проблемой
у меня была та же проблема, и я понял, что это потому, что мой Java-инфраструктура, Медиа, был установлен разделе "Файлы C:\Program" по умолчанию.Когда я запустил "jmfinit.exe" в \bin, я заметил, что не смог обновить файл "jmf.properties"
Ошибка, воспроизведенная ниже
Найдено устройство Microsoft WDM Image Capture (Win32) Запрашивающее устройство.Пожалуйста, подождите...Исключение при фиксации = java.io.FileNotFoundException:C:\Program Файлы\JMF2.1.1e\bin..\библиотека\jmf.properties (доступ запрещен)
Я изменил настройки безопасности для папки JMF2.1.1e, и все работает нормально.Я почти уверен, что установка его в другом месте тоже работает
Другие советы
Что ж, я использовал JMF в Vista для захвата изображения с веб-камеры, и это сработало.Однако я не использовал JMF Studio, поэтому не могу помочь.
Я разместил здесь пример кода почта, вы можете взглянуть и посмотреть, подойдет ли он вам.