运行 命令行应用程序时 JavaFX 8 视频播放冻结
JavaFX 8 video playback freeze when running application from command line
当我从 Eclipse 运行 这个 JavaFX 8 应用程序(视频播放测试)IDE 时,一切都很好。应用程序 运行 视频无限循环播放。
但是当我从命令行 运行 这个应用程序时:
java -jar test-javafx8-video-playback-jar-with-dependencies.jar
它只是播放了几秒钟,然后停止播放。
这是一个应用程序源代码:
test-javafx8-video-playback
请指教,谢谢
好的,这是播放视频的代码片段:
private void playBallMixingAnimation() {
Media media = new Media(KenoKaironMain.getResourceURIFromProperties(KenoKaironMain.BALL_MIXER_URI_KEY));
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setCycleCount(MediaPlayer.INDEFINITE);
mediaPlayer.setMute(true);
mediaPlayer.setAutoPlay(true);
animMediaView.setMediaPlayer(mediaPlayer);
}
正如我所说,它在 Eclipse 中无限循环工作,但当我从命令行启动应用程序时却不行。
Eclipse 使用的是 jdk1.8.0_51 并且 Windows/OSX 使用的是 jre1.8.0_51 我有足够的内存来运行这个小应用程序。
这是我的发现。
一切都是关于支持的媒体格式。
您可能知道 JavaFX 支持以下视频格式:
带有 MP3 和 VP6 的 FLV 容器
带有 AAC、H.264 或两者的 MPEG-4 容器
只有使用 On2 的 VP6 编码的 FLV 视频文件才能无限循环播放,无论是从 Eclipse IDE 还是从命令行启动。
带有 AAC 或 H.264 的 MPEG-4 容器只能在 Eclipse 中无限循环播放 IDE,并且在从命令行启动时会在第一次循环后冻结。
这是我使用 Oracle FLV 示例测试的:http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv and confirmed by using this FLV sample: http://www.mediacollege.com/video-gallery/testclips/20051210-w50s.flv
对于 MPEG-4,您可以自己尝试并确保它不会从命令行无限循环工作。
我的测试配置是:
OS X 10.9.5、Java JDK 1.8.0_51、Eclipse Luna (4.4.1) 和我在上面发布的代码片段。
当我从 Eclipse 运行 这个 JavaFX 8 应用程序(视频播放测试)IDE 时,一切都很好。应用程序 运行 视频无限循环播放。 但是当我从命令行 运行 这个应用程序时:
java -jar test-javafx8-video-playback-jar-with-dependencies.jar
它只是播放了几秒钟,然后停止播放。 这是一个应用程序源代码: test-javafx8-video-playback
请指教,谢谢
好的,这是播放视频的代码片段:
private void playBallMixingAnimation() {
Media media = new Media(KenoKaironMain.getResourceURIFromProperties(KenoKaironMain.BALL_MIXER_URI_KEY));
MediaPlayer mediaPlayer = new MediaPlayer(media);
mediaPlayer.setCycleCount(MediaPlayer.INDEFINITE);
mediaPlayer.setMute(true);
mediaPlayer.setAutoPlay(true);
animMediaView.setMediaPlayer(mediaPlayer);
}
正如我所说,它在 Eclipse 中无限循环工作,但当我从命令行启动应用程序时却不行。 Eclipse 使用的是 jdk1.8.0_51 并且 Windows/OSX 使用的是 jre1.8.0_51 我有足够的内存来运行这个小应用程序。
这是我的发现。
一切都是关于支持的媒体格式。 您可能知道 JavaFX 支持以下视频格式:
带有 MP3 和 VP6 的 FLV 容器
带有 AAC、H.264 或两者的 MPEG-4 容器
只有使用 On2 的 VP6 编码的 FLV 视频文件才能无限循环播放,无论是从 Eclipse IDE 还是从命令行启动。
带有 AAC 或 H.264 的 MPEG-4 容器只能在 Eclipse 中无限循环播放 IDE,并且在从命令行启动时会在第一次循环后冻结。
这是我使用 Oracle FLV 示例测试的:http://download.oracle.com/otndocs/products/javafx/oow2010-2.flv and confirmed by using this FLV sample: http://www.mediacollege.com/video-gallery/testclips/20051210-w50s.flv
对于 MPEG-4,您可以自己尝试并确保它不会从命令行无限循环工作。
我的测试配置是: OS X 10.9.5、Java JDK 1.8.0_51、Eclipse Luna (4.4.1) 和我在上面发布的代码片段。