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

Using Java to Play Multiple Videos in 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 数据库中检索到的视频文件的名称,delay 是每个视频的时长。视频持续时间结束后,我通过调用 process.destroy() 退出当前正在播放的视频,并通过调用 Start() 转到下一个视频。这样做更有效的方法是什么?更高效,我的意思是,有没有一种方法可以在当前视频播放完毕后立即调用 process.destroy(),因此不需要处理视频持续时间变量。最后,我想知道如何使用 Java 以最有效的方式同时播放一个又一个视频。

您可以将 vlcj 用于您的应用程序。看到这个:Embed vlcj player in JPanel and this: Embedding VLCJ in JPanel。您还可以向视频播放器添加一个监听器,这样您就可以对其进行编程,使其在当前播放的视频播放完毕后自动播放下一个视频。我已经测试了排队视频文件,下一个视频开始播放之前的延迟非常短。使用 vlcj,您的 java 视频应用程序可以像 vlc 一样强大。