• 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:XXXXprocessing-2.1.1modesjavalibrariesvideolibrary目录下的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

    爱好编程、喜欢计算机、也喜欢美食~
  • 相关阅读:
    Android Monkey压测命令
    测试常用__linux命令
    适合做自动化的项目
    windows安装MySQL8.0
    视频丢帧(详解)
    selenium 鼠标,键盘操作
    定位元素方法
    关于Python中的lambda
    项目流程
    正则表达式之扩展正则表达式
  • 原文地址:https://www.cnblogs.com/x5115x/p/3601874.html
Copyright © 2020-2023  润新知