使用Java在VLC中播放多个视频

时间:2015-08-01 23:17:52

标签: java android video vlc

我正在使用Java播放视频片段,其中文件名存储在MySQL数据库中。一切正常,但每当视频开启时,开始播放总是需要大约5秒钟,屏幕最初是灰色的。以下是我的应用程序代码片段:

String[] s = new String[] {"C:\\Program Files\\VideoLAN\\VLC\\vlc.exe", "C:\\Users\\Downloads\\" + filename + ".mp4"};

  try {

    Process process = runtime.exec(s);

    Timer timer = new Timer();

    timer.schedule( new TimerTask(){
       public void run() { 
           System.out.println("Video exit");
           process.destroy();
           Start();

       }
     }, delay);

Filename是从MySQL数据库检索的视频文件的名称,延迟是每个视频的长度。在视频持续时间之后,我通过调用process.destroy()退出当前正在播放的视频,然后通过调用Start()转到下一个视频。什么是更有效的方法呢?我的意思是,更高效的是,有一种方法可以在当前视频播放完毕后立即调用process.destroy(),因此无需处理视频持续时间变量。最后,我想知道如何使用Java以最有效的方式同时播放视频。

1 个答案:

答案 0 :(得分:0)

您可以将vlcj用于您的应用程序。请参阅:Embed vlcj player in JPanel和此:Embedding VLCJ in JPanel。您还可以向视频播放器添加一个监听器,以便您可以将其编程为在当前播放的视频完成后自动播放下一个视频。我已经测试了排队视频文件,并且在下一个视频开始播放之前的延迟非常短。使用vlcj,您的Java视频应用程序可以像vlc一样强大。