好的,所以我有这个方法应该运行一个视频,等到它结束,然后播放第二个视频。
我的问题是该程序似乎没有等待第一个视频结束,因此直接跳转到第二个视频。
我添加了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);
}
答案 0 :(得分:1)
我认为你混淆了wait()和sleep()(Difference between wait() and sleep())
在您的情况下,您可能想听一些文件/视频事件并在那里处理。
答案 1 :(得分:0)
你能看到视频长度吗?因为Java能够读取某些文件的元数据......您可以尝试使用计时器来等待视频完成。也许你可以获得视频的长度并设置一个计时器来使用不同的参数调用相同的函数(递归)并播放另一个视频。所以基本上使函数以路径为参数,并播放该参数的视频。如果您还不知道,Java有一个Timer类,其中一个计时器实例需要几秒钟,一个函数在其构造函数中调用,并且它有一个.play()方法。