我们目前正在开展一个艺术项目,我们正在使用GSvideo库录制视频,并与VLC同时显示另一个视频。我们的项目在我们尝试的三台Windows 7计算机上运行良好,但我们可用于展览会出现以下错误:
线程“动画线程”中的异常java.lang.UnsatisfiedLinkError: 无法加载库gio-2.0(gio-2.0 | libgio-2.0 | libgio-2.0-0) -Djna.library.path = //桌面/ media_art_installation / sktetch /库/ GSVideo /库\ gstreamer的\ windows64。 上一个错误:java.lang.UnsatisfiedLinkError:无法加载库 'gio-2.0':找不到指定的模块。
我们注意到路径包含“/”和“\”。我们知道我们学校的计算机使用的是Java 1.6。我们或我们的老师或技术支持都无法找到我们问题的答案。那么,为什么它不适用于学校的计算机呢?
在我们的代码中给出错误的行如下:
movieMaker = new GSMovieMaker(this, 640, 480, "data/" + getCurrentFileName(), GSMovieMaker.THEORA, GSMovieMaker.MEDIUM, fps);
答案 0 :(得分:0)
现在让我们假设库路径的拼写不是问题......
如果你解析你提到的错误,你会发现找不到该模块。它列出了一个库路径,在用于展览的机器上必须是不正确的。 Win 7机器是32位还是64位?什么类型的机器用于展览? (Win XP?Macs?32位64位)。测试和展览机器之间的任何差异都将是一个危险信号。
另外,你是如何指向这个图书馆的?谷歌搜索了一下后,我想出了以下内容:
sourceforce上的thread建议使用GSVideo.localGStreamerPath
指向gstreamer库。
另一位thread注意到使用System.loadLibrary
解决了问题(线程中的倒数第二位)。
所以第二个建议对你来说可能是这样的:
System.loadLibrary("/Desktop/media_art_installation/sketch/libraries/GSVideo/library/gstreamer/windows64");