在JavaFX中使用MediaPlayer
和MediaView
播放视频时,当播放器到达视频结尾时,播放器的状态仍为PLAYING
,并在mediaPlayer.setOnEndOfMedia(() -> {
mediaPlayer.pause();
});
中记录{3}}:
播放时到达媒体的末尾(如果已定义,则为stopTime)不会导致状态从播放更改。因此,例如,如果媒体播放到最后,然后在媒体内执行手动搜索,则播放将从新媒体时间继续。
我尝试通过这样做到达终点时暂停:
PLAYING
但仍处于mediaPlayer.setOnEndOfMedia(() -> {
System.out.println("end of media");
System.out.println(mediaPlayer.getStatus());
mediaPlayer.pause();
Platform.runLater(() -> System.out.println(mediaPlayer.getStatus()));
});
模式。这个版本带有调试信息:
end of media
PLAYING
PLAYING
显示效果,因为控制台上的输出为:
PAUSE
任何想法是为什么或如何强迫媒体播放器进入IOUtils.copy()
州?
我调试了两种情况:视频结尾处的普通暂停和暂停,它们的行为与MediaPlayer.Status
的调用相同,这是一种本地方法,因此,我碰到了墙。