我正试图从一个通过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的视频太让人头疼了。
发布于 2012-07-08 22:30:06
这个问题可能有点老,但对于那些面临同样问题的人(如我)来说,答案是这样的。
FMJ要求将JDOM (而不是JDOM2)包含在类路径中,因为它使用它来读取。
C:\Documents And Settings\[user]\.fmj.registry.xml 此文件包含FMJ注册表中的设置。JDOM位于从主页下载的FMJ包中的libs目录中。您可以复制它并将其包含在您的项目构建路径中,如果您是Maven用户,则可以添加依赖项:
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.1.3</version>
</dependency>不要忘记添加其他必需的库;]
如果情况并非如此,那么还有其他可能的选择:
https://stackoverflow.com/questions/5491274
复制相似问题