【问题标题】:Detect if JavaFX Media required codecs are installed检测是否安装了 JavaFX Media 所需的编解码器
【发布时间】:2016-01-06 22:26:51
【问题描述】:

根据以下情况: http://www.oracle.com/technetwork/java/javase/certconfig-2095354.html

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

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

我在出现此症状的 Windows Server 2008 上对此进行了测试。 Windows 7、8 和 10 可以正常工作。

【问题讨论】:

    标签: java javafx media codec


    【解决方案1】:

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

    【讨论】:

    • 来自链接(适用于 Win 7 和 8):“默认使用预装的 Microsoft AAC 和 H.264 DirectShow 解码器过滤器。”和“如果这些解码器都不可用,AAC 和 H.264 解码将失败。”我的基本问题是,如果这些解码器不可用,它不会抛出异常。
    • JavaFX 使用流行的开源框架 GStreamer,其中包含许多编解码器,例如:MP3、WAV、ACC、AIFF、PCM、MPEG-4(包括 H.264/AVC 和 AAC)和 FLV( VP6 和 MP3)。
    • 现实情况是,在 Windows Server 上运行时它不起作用并且它不会抛出异常告诉我这样我可以处理它。
    • 在你的情况下,我只会测试 Windows 服务器,因为其他所有系统要么无法运行该程序,要么可以正确使用 JFX
    • 我现在正在检测它是否在 Windows Server 上运行,但我认为这是一种解决方法。如果它只是抛出一个异常或者让我调用一些方法来检查会更好。顺便说一句,它确实可以正确运行 JavaFX,只是不能正确运行媒体。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-29
    • 2011-03-25
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 1970-01-01
    相关资源
    最近更新 更多