我正在使用 mediainfo ( http://mediainfo.sourceforge.net/en ) 使用 Java 代码从音频和视频文件中提取信息。
我的 java 项目在所有平台(osx、win 和 linux)上运行。到目前为止,我只在过程简单的 osx 上测试了 mediainfo:只需将 libmediainfo.dylib 放入目标文件夹并使用本机库访问它,你就可以开始了。该解决方案完美无缺...
我现在希望将此功能扩展到其他操作系统,从 Linux 开始。然而,事实证明这比我想象的更具挑战性。起初我一直得到这个:
"java.lang.UnsatisfiedLinkError: Unable to load library 'mediainfo': libmediainfo.so: cannot open shared object file: No such file or directory"
这是预期的,因为它正在查看 /usr/lib
但这已通过从http://mediainfo.sourceforge.net/en/Download/Ubuntu安装合适的 libmediainfo0 和 libzen0 ".deb 来解决
不过,我的解决方案需要是可移植的,这意味着,我希望所有必要的资源都包含在 java 项目包中,而无需任何进一步的安装。我还需要知道是否可以更改 mediainfo 以查找我的 java 包中的资源而不是系统位置。
供您参考,我正在使用 Java Native Access (jna) 与库进行交互。还使用网站建议的 MediaInfo.java 和 MediaInfoLibrary.java 类。如果您需要其他详细信息,请告诉我。
任何智慧都非常感谢谢谢!