繁体   English   中英

从命令行运行应用程序时,JavaFX 8视频播放冻结

[英]JavaFX 8 video playback freeze when running application from command line

当我从Eclipse IDE运行此JavaFX 8应用程序(视频播放测试)时,一切都很好。 应用程序无限期地循环运行视频播放。 但是,当我从命令行运行此应用程序时:

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,对于这个小型应用程序,我拥有足够多的RAM。

这是我发现的。

这都是关于支持的媒体格式的。 您可能知道JavaFX支持以下视频格式:

  1. 带有MP3和VP6的FLV容器

  2. 带有AAC,H.264或两者的MPEG-4容器

从Eclipse IDE或从命令行开始,只有具有On2 VP6编码的FLV视频文件才能无限循环播放。

带有AAC或H.264的MPEG-4容器只能从Eclipse IDE无限循环播放,并且从命令行启动时,在第一次循环后将冻结。

我使用Oracle FLV示例进行了测试: http : //download.oracle.com/otndocs/products/javafx/oow2010-2.flv,并通过使用以下FLV示例进行了确认: 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)和上面发布的代码段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM