首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VLCJ/libvlc跨平台库路径

VLCJ/libvlc跨平台库路径
EN

Stack Overflow用户
提问于 2012-09-21 04:12:00
回答 2查看 5.2K关注 0票数 3

我正在尝试用Java创建一个跨平台的应用程序,使用libvlc来播放视频。我已经在网上搜索了很多次,但我还没有找到在所使用的平台(Mac,Win,Linux - 32或64位)上独立加载libvlc的代码。我使用JNA库来加载libvlc。

例如,这是从Mac上的默认安装路径加载libvlc的代码:

代码语言:javascript
复制
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "/Applications/VLC.app/Contents/MacOS/lib/");
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);

但是,如果用户更改了VLC.app的安装路径怎么办?!

所以我需要创建一个独立于路径,跨平台加载的代码。通常,我不知道从哪里获得包含libvlc库的文件夹的路径。

谢谢你的点子。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-23 01:35:02

谢谢你的帮助,但我找到了更好的解决方案。在阅读了几个小时的VLCJ之后,我注意到了NativeDiscovery类,它已经保存了所有这些公共路径。

代码语言:javascript
复制
private void setupLibVLC() throws LibraryNotFoundException {

    new NativeDiscovery().discover();

    // discovery()'s method return value is WRONG on Linux
    try {
        LibVlcVersion.getVersion();
    } catch (Exception e) {
        throw new LibraryNotFoundException();
    }
}

此解决方案的唯一缺点是,如果用户已将VLC安装到自定义位置,您仍将被迫询问他,库在哪里。

票数 2
EN

Stack Overflow用户

发布于 2012-09-21 04:21:20

我通常搜索大家都知道的位置,比如/Applications/VLC.app/Contents/MacOS/lib/Program Files/VideoLan/VLC/sdk/lib

如果您无法通过搜索常见的位置找到库,您将被迫要求用户为您提供位置...

我也在使用vlcj,它有能力捆绑二进制文件并在运行时导出/安装它们(这可能有点令人望而却步,因为它抛出了相当大的应用程序大小)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12520183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档