- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要一个为我播放视频并在视频结束时返回的函数,而不是之前。所以当我写“play('video1'); play('video2');”时两个视频必须连续播放。我已经多次尝试执行此操作,但到目前为止,所有尝试要么根本不播放视频,要么同时播放所有视频。下面我发布了播放视频的基本功能,现在我只需要一种延迟返回的方法。有什么想法吗?
private static void play(String name) throws InterruptedException {
Media media = new Media(uri(name));
MediaPlayer player = new MediaPlayer(media);
player.setAutoPlay(true);
view.setMediaPlayer(player);
}
我尝试了以下方法:
player.setOnEndOfMedia(() -> { return; });
与函数末尾的无限循环相结合。由于某种原因,这会阻止视频播放。还有更好的主意吗?
最佳答案
JavaFX 与所有 UI 工具包一样,是事件驱动的。这意味着您编写响应事件的代码,而不是编写一个完成您想要的所有操作的大循环。 (假设您从 FX 应用程序线程启动媒体播放器,如果您的方法在媒体完成之前没有退出,那么 UI 将无法更新或响应任何用户事件,直到媒体完成,这不是你想要发生什么。)
因此,如果还有另一个媒体要播放,您需要使用 onEndOfMedia
处理程序来播放下一个媒体:
private String[] videos = {"video1", "video2"};
private int currentVideoIndex = 0 ;
private void playNextVideo() {
Media media = new Media(uri(videos[currentVideoIndex]));
currentVideoIndex++ ;
MediaPlayer player = new MediaPlayer(media);
player.setOnEndOfMedia(() -> {
if (currentVideoIndex < videos.length) {
playNextVideo();
}
});
player.setAutoPlay(true);
view.setMediaPlayer(player);
}
关于java - 我可以创建一个直到媒体播放完毕才返回的函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43527225/
我搜索了很多东西,比如: How to show icon blinking on google map 但是根据这个我没有找到如何让通知图标闪烁 我想在这个上闪烁图标 int icon = R.d
我很想知道我是否可以删除或更改 android 在选项卡布局下方提供的类似 drop-shadow 的效果。 最佳答案 我一问这个问题,我就在另一个stackoverflow post中得到答案.无论
我必须通过 AlaramManager 调用我的 BroadcastReceiver。 为此,我所做的不起作用: AlarmActivity.java public class AlarmActivi
我正在尝试执行以下操作: CPU_COUNT=$(cat /proc/stat | grep -E "^cpu[[:digit:]]+ " | wc -l) let CPU_COUNT=CPU_COU
我是一名优秀的程序员,十分优秀!