JavaFX MediaPlayer:MP4不会在Windows 7上循环播放
2022-09-02 22:40:13
我创建了一个基本的JavaFX媒体播放器。在我的Windows 10操作系统上,一切正常,并且它完全按照预期运行。
private MediaPlayer initializeMediaPlayer(){
Media media = new Media(getClass().getResource("1-1.mp4").toString());
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setAutoPlay(true);
mediaPlayer.setCycleCount(MediaPlayer.INDEFINITE);
mediaPlayer.setRate(1.25);
mediaPlayer.setMute(true);
return mediaPlayer;
}
然而,当我在Windows 7上运行此代码时,视频不会循环:它会播放五秒钟,在视频结束时,视频就会冻结。鉴于视频只有5秒长,循环对于该程序的正常工作是绝对必要的。
以下是我对这个问题的了解:
- 仅对于Windows 7上的mp4文件,问题仍然存在。当使用oracle的示例.flv文件(即 http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv)运行程序时,它工作正常。将我的mp4文件转换为flv不是一个选项。
- 该程序在我运行它的所有Windows 10计算机上都可以正常工作。此问题仅在Windows 7中出现,但我没有在任何其他操作系统上对其进行测试。我最终需要在仅使用Windows 7计算机的实验室中运行此程序。
- 所有其他 MediaPlayer 参数(即设置自动播放、setMute 和 setRate)在 Windows 10 和 Windows 7 中都工作正常。它只是setCycleCount属性似乎不适用于Windows 7。
- 在所有测试计算机上,我确保Java已更新到最新版本。我使用的是 Java 8 更新 144。