Java,如何让程序等待视频结束然后继续,wait()让程序停止

Java, how to make program wait for video to end and then continue and wait() makes program stop

好的,我有这个方法应该 运行 一个视频,等到它结束,然后播放第二个视频。

我的问题是程序似乎没有等到第一个视频结束,所以直接跳到第二个视频。

我添加了 wait() 方法,它会导致第一个视频播放,但随后停止,第二个视频永远不会开始。

如有任何帮助,我们将不胜感激!

  private void test(ActionEvent event) throws InterruptedException {

        File fi= new File("test\firstVideo.mp4");

        String filePath= fi.toURI().toString();

        openFile(filePath);

        wait(5000); //even wait(0) has the same effect

        fi= new File("test\secondVideo.mp4");

        filePath= fi.toURI().toString();

        openFile(filePath);
    }

我认为你混淆了 wait() 和 sleep() (Difference between wait() and sleep())

在你的情况下,你可能想听一些 file/video 事件并在那里处理它。

你能得到视频的长度吗?因为 Java 能够读取某些文件的元数据...您可以尝试使用计时器来等待视频完成。也许您可以获取视频的长度并设置一个计时器以使用不同的参数调用相同的函数(递归)并播放另一个视频。所以基本上让函数以路径为参数,并播放该参数的视频。如果您还不知道,Java 有一个定时器 class,其中一个定时器实例需要一定的秒数和一个在其构造函数中调用的函数,并且它有一个 .play() 方法。