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

升级到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

转载于:https://www.cnblogs.com/x5115x/p/3601874.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值