如何在JavaFX MediaPlayer结束时暂停它?

时间:2018-01-04 17:40:38

标签: java javafx

在JavaFX中使用MediaPlayerMediaView播放视频时,当播放器到达视频结尾时,播放器的状态仍为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的调用相同,这是一种本地方法,因此,我碰到了墙。

0 个答案:

没有答案