2016-01-06 44 views
1

根据以下几点: http://www.oracle.com/technetwork/java/javase/certconfig-2095354.html检测是否JavaFX的媒体编解码器需要安装

为了JavaFX的媒体合作,给定的操作系统需要安装适当的编解码器。

在我的应用程序中,我试图播放mp4视频。如果给定的平台是而不是可以播放它,我改为显示静态图像。 在这种情况下,如果它无法播放它,我期待它抛出一个异常,我会相应地处理它。 但是,它不这样做,而是显示视频应该在的空白区域。 如何检测是否安装了所需的编解码器?

我在Windows Server 2008上测试了这个问题,我得到了这个症状。 Windows 7,8和10按预期工作。

回答

0

您不需要检查操作系统是否具有编解码器,因为Java包含了大部分编解码器(包括Mpeg-4/mp4),问题是该窗口的服务器版无法播放视频。

+0

从链接(对于Win 7和8):“默认情况下使用预安装的Microsoft AAC和H.264 DirectShow解码器过滤器。”和“如果这些解码器都不可用,则AAC和H.264解码将失败。” 我的基本问题是,如果这些解码器不可用,它不会引发异常。 – Avrom

+0

JavaFX使用流行的开源框架GStreamer,其中包括许多编解码器,例如MP3,WAV,ACC,AIFF,PCM,MPEG-4(包括H.264/AVC和AAC)以及FLV(VP6和MP3)。 – dav20012

+0

现实情况是,当在Windows Server上运行时,它*不起作用*并且它不会抛出异常*告诉我这样我就可以处理它。 – Avrom