您的位置:首页 > 其它

Processing 2.1.1 无法使用video和movie问题解决方案

2014-03-15 12:34 330 查看
升级到2.1.1后,尝试着运行了一下sample中的video和movie,结果都报错,上网搜了一下,找到解决方法。

1. 首先来看movie的错误,如下:

JNA: Callback org.gstreamer.Bus$15@33b2e7 threw the following exception:
java.lang.ExceptionInInitializerError
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.gstreamer.lowlevel.NativeObject.objectFor(NativeObject.java:191)
at org.gstreamer.lowlevel.GTypeMapper$3.fromNative(GTypeMapper.java:129)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.invokeCallback(CallbackReference.java:444)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.callback(CallbackReference.java:485)
Caused by: java.lang.NullPointerException
at com.sun.jna.Native.extractFromResourcePath(Native.java:797)
at com.sun.jna.Native.extractFromResourcePath(Native.java:781)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:209)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:322)
at com.sun.jna.Library$Handler.<init>(Library.java:142)
at com.sun.jna.Native.loadLibrary(Native.java:387)
at org.gstreamer.lowlevel.GNative.loadNativeLibrary(GNative.java:59)
at org.gstreamer.lowlevel.GNative.loadLibrary(GNative.java:51)
at org.gstreamer.lowlevel.GstNative.load(GstNative.java:49)
at org.gstreamer.lowlevel.GstNative.load(GstNative.java:43)
at org.gstreamer.message.TagMessage.<clinit>(TagMessage.java:39)
... 8 more
JNA: Callback org.gstreamer.Bus$15@33b2e7 threw the following exception:
java.lang.NoClassDefFoundError: Could not initialize class org.gstreamer.message.TagMessage
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.gstreamer.lowlevel.NativeObject.objectFor(NativeObject.java:191)
at org.gstreamer.lowlevel.GTypeMapper$3.fromNative(GTypeMapper.java:129)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.invokeCallback(CallbackReference.java:444)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.callback(CallbackReference.java:485)
JNA: Callback org.gstreamer.elements.AppSink$2@4d5e01 threw the following exception:
java.lang.ExceptionInInitializerError
at org.gstreamer.elements.AppSink.gst(AppSink.java:38)
at org.gstreamer.elements.AppSink.pullBuffer(AppSink.java:128)
at org.gstreamer.elements.RGBDataAppSink$AppSinkNewBufferListener.newBuffer(RGBDataAppSink.java:144)
at org.gstreamer.elements.AppSink$2.callback(AppSink.java:184)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.invokeCallback(CallbackReference.java:455)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.callback(CallbackReference.java:485)
Caused by: java.lang.NullPointerException
at com.sun.jna.Native.extractFromResourcePath(Native.java:797)
at com.sun.jna.Native.extractFromResourcePath(Native.java:781)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:209)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:322)
at com.sun.jna.Library$Handler.<init>(Library.java:142)
at com.sun.jna.Native.loadLibrary(Native.java:387)
at org.gstreamer.lowlevel.GNative.loadNativeLibrary(GNative.java:59)
at org.gstreamer.lowlevel.GNative.loadLibrary(GNative.java:51)
at org.gstreamer.lowlevel.GstNative.load(GstNative.java:49)
at org.gstreamer.lowlevel.AppAPI.<clinit>(AppAPI.java:38)
... 10 more
JNA: Callback org.gstreamer.elements.AppSink$2@4d5e01 threw the following exception:
java.lang.NoClassDefFoundError: Could not initialize class org.gstreamer.lowlevel.AppAPI
at org.gstreamer.elements.AppSink.gst(AppSink.java:38)
at org.gstreamer.elements.AppSink.pullBuffer(AppSink.java:128)
at org.gstreamer.elements.RGBDataAppSink$AppSinkNewBufferListener.newBuffer(RGBDataAppSink.java:144)
at org.gstreamer.elements.AppSink$2.callback(AppSink.java:184)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.invokeCallback(CallbackReference.java:455)
at com.sun.jna.CallbackReference$DefaultCallbackProxy.callback(CallbackReference.java:485)


这种错误是由于movie例子带的jna版本不对造成的,用3.5.1版本的jna替换C:\XXXX\processing-2.1.1\modes\java\libraries\video\library目录下的jna.jar即可。

2.video错误

video的错误相对movie error来说相对容易解决,安装最新版的Quicktime和WinVDIG即可,需要注意的是,安装Quicktime的时候一定要选择Quicktime for JAVA,否则一定会报错。

上面提到的文件下载地址:http://pan.baidu.com/s/1dDorUJB

这是个好网站,可以下载各种版本的jna:http://www.java2s.com/Code/Jar/j/jna.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐