我想运行一个被称为VLC中java
,如果用户点击控制它在运行,例如❚❚或►►按钮,我做了具体的合适的动作.
我运行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"); }
我听说过Java绑定,但我不知道它是如何工作的.
VLCj就是你所追求的 - 它本质上是一个围绕libvlc的直接Java包装器.如果您在进程中使用它(特别是如果您正在使用多个播放器),您有时会看到VM崩溃 - 这不是VLCJ的错,而是libvlc,它在下面使用的本机库有一些微妙的线程错误暴露了这些问题.
您可以使用多个实例使其可靠地工作,但为此您需要在进程外使用它.请参阅此处,了解我最初的尝试.设置起来有点工作,但一旦开始,事情看起来效果非常好.
您可能正在寻找VLCJ,这是VLC的java包装器.它允许您将VLC媒体播放器嵌入到Java应用程序中,从而添加所有个人控件.
(请注意,对于用户应用程序,这很好,但VLCJ库并不完美,您可能会弹出几个问题.)
编辑:对于我的项目,我看到内存泄漏和长时间运行程序的问题(几个小时的多个实例).特别是多个实例不能与某些编译选项(默认情况下处于启用状态)结合使用.