我使用Xuggler 5.4制作了屏幕录制器和播放器应用程序。我已经开发了Windows 8 64位环境。我已经使它作为WebStart项目工作并在MAC 10.8 64位中启动(.jnlp)。当我运行它时,Recorder工作正常,但当我在我的播放器中打开它时会抛出异常
Exception in thread "stopThread" java.lang.RuntimeException : Unhandled and unknown native exception
at com.xuggle.xuggler.XugglerJNI.IContainer_open__SWIG_0( Native Method )
at com.xuggle.xuggler.IContainer.open(IContainer.java:597 )
就Windows而言,情况并非如此...... 我对Xuggler来说非常新。我不知道这个异常是什么意思。这是我得到这个例外的代码行。
if (container1.open( fileName, IContainer.Type.READ, container1.getContainerFormat()) < 0) {
throw new IllegalArgumentException("could not open file: " + fileName);
}
提前致谢。
P.S:我使用过相同版本的Java(1.7.0_65)和Oracle版本。
答案 0 :(得分:1)
我得到了解决方案..
我改变了打开容器的方法。
上一个方法:
if (container1.open( fileName, IContainer.Type.READ, container1.getContainerFormat()) < 0) {
throw new IllegalArgumentException("could not open file: " + fileName);
}
新方法:
InputStream inputStream = null ;
try {
inputStream = new FileInputStream(new File("fileName"));
} catch (FileNotFoundException e2) {
logger.error("File not found ");
}
IContainerFormat format = IContainerFormat.make();
format.setInputFormat("flv");
container1 = IContainer.make();
if (container1.open( inputStream , format) < 0) {
throw new IllegalArgumentException("could not open file: " + fileName);
}
这适用于MAC OS ..
奇怪但真实