我正在尝试从通过USB连接的网络摄像头捕获视频,但由于某种原因,FMJ无法加载或找到注册表文件。当我尝试运行程序时,每次调用FMJ函数都会产生警告:
[time] net.sf.fmj.utility.Registry <init>
WARNING: Problem loading JMF registry: org/jdom/JDOMException. Using Defaults
因此,它无法识别网络摄像头并且程序失败。 同一个程序与JMF一起工作,但为了使其跨平台,我正在迁移代码。我已经卸载了JMF,但我不明白为什么它试图加载JMF注册表。运行fmjregistry.bat时,我也会遇到以下错误:
FINE: PlugInUtility: Unable to register plugin net.sf.fmj.ffmpeg_java
FINE: PlugInUtility: Unable to register plugin net.sf.fmj.theora_java.NativeOggParser
FINE: PlugInUtility: Unable to register plugin com.omnividea.media.parser.video.Parser
FINE: PlugInUtility: Unable to register plugin com.omnividea.media.codec.video.NativeDecoder
FINE: PlugInUtility: Unable to register plugin com.omnividea.media.codec.video.JavaDecoder
以上所有都是java.lang.ClassNotFoundException
请帮助,带有java的视频是如此令人头疼的问题
答案 0 :(得分:1)
这个问题可能有点旧,但对于那些面临同样问题的人(比如我),这就是答案。
FMJ要求JDOM(而不是JDOM2)包含在类路径中,因为它使用它来读取
C:\Documents And Settings\[user]\.fmj.registry.xml
此文件包含FMJ注册表的设置。 JDOM jar位于从主页下载的FMJ包中的libs目录中。您可以复制它并包含在您的项目构建路径中,或者如果您是Maven用户则添加依赖项:
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.1.3</version>
</dependency>
不要忘记添加其他必需的库;]
如果不是这种情况,那么还有其他可能的选择: