1

我们目前正在开展一个艺术项目,我们正在使用 GSvideo 库录制视频并同时使用 VLC 显示另一个视频。我们的项目在我们尝试过的三台 Windows 7 计算机上运行良好,但我们可用于展览的计算机出现以下错误:

线程“动画线程”中的异常 java.lang.UnsatisfiedLinkError: can't load library gio-2.0 (gio-2.0|libgio-2.0|libgio-2.0-0) with -Djna.library.path=//Desktop/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);
4

1 回答 1

0

现在让我们假设库路径的拼写不是问题......

如果您解析您提到的错误,您会发现它找不到模块。它列出了一个库路径,在用于展览的机器上一定是不正确的。Win 7 机器是 32 位还是 64 位?展览使用什么类型的机器?(Win XP?Mac?32 位 64 位)。测试机和展览机之间的任何差异都是危险信号。

另外,你是怎么指向这个库的?谷歌搜索了一下后,我想出了以下内容:

  • sourceforce 上的一个线程建议使用GSVideo.localGStreamerPathto 指向 gstreamer 库。

  • 另一个线程指出使用System.loadLibrary解决了这个问题(线程中的倒数第二个帖子)。


所以第二个建议对你来说可能是这样的:

System.loadLibrary("/Desktop/media_art_installation/sketch/libraries/GSVideo/library/gstreamer/windows64");
于 2013-01-19T18:55:04.697 回答