我想运行一个名为的程序 VLCjava 并在运行时控制它,例如,如果用户单击 ❚❚ 或者 ►► 按钮,我采取特定的适当动作。

我跑了 VLC 通过此代码:

try
{
    Runtime rt = Runtime.getRuntime();
    Process p = rt.exec(VLCProgramAddFile + " udp://@:" + listeningPort);

    OutputStream out = p.getOutputStream();
    InputStream in = p.getInputStream();

    p.waitFor();
    System.out.println("End of VLC");
}
catch (Exception e)
{
    System.out.println("error in running VLC");
}

我听说过爪哇绑定,但我不知道它如何为这项工作起作用。

有帮助吗?

解决方案

您可能正在寻找VLCJ,这是VLC的Java包装器。它使您可以将VLC媒体播放器嵌入Java应用程序中,从而添加所有个人控件。

(请注意,对于用户应用程序,这很好,但是VLCJ库并不完美,您可能会弹出几个问题。)

编辑:对于我的项目,我已经看到了长期运行程序的内存泄漏和问题(多个实例几个小时)。尤其是多个实例与某些编译选项(默认情况下)不起作用。

其他提示

vlcj 是您追求的是 - 本质上是Libvlc周围的直爪瓦包装纸。如果您在进程中使用它(尤其是在过程中使用多个播放器),有时会看到VM崩溃 - 这不是VLCJ的错,而是Libvlc,并且它在下面使用的本机库具有一些暴露这些问题的细微螺纹错误。

您可以通过多个实例可靠地使其可靠地工作,但是要这样做,您需要过时使用它。看 这里 对于我最初的尝试。要设置有点工作,但是一旦走了,事情似乎都很好地工作了。

取决于您想最终完成的工作 GSTREAMER JAVA绑定 值得一看的是,它将为您提供有关播放的非常精细的谷物控制。您可以进行转换和一切。他们还有一个简约的视频播放器示例应用程序,可以让您开始。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top