JavaFX MediaPlayer完全使JRE崩溃

时间:2019-07-27 18:17:15

标签: java windows javafx media mp4

我已经实现了JavaFX应用程序,用于使用ImageView和MediaPlayer显示jpg和mp4文件。

在我的私人Windows 10 PC上,一切正常。 但是在我公司的Windows 10 PC上,当我尝试播放mp4文件时,Java虚拟机完全崩溃了(而jpg也可以在这里正常工作)。 “崩溃”表示没有引发异常,但会出现一个弹出窗口:

enter image description here

重要的代码行:

Path fileOnDisk = new Path(...);
Media media = new Media(fileOnDisk.toFile().toURI.toString())
MediaPlayer mediaPlayer = new MediaPlayer(media);
...

在最后一行中发生崩溃。 在尝试查找崩溃的确切位置时,我使用了IntelliJ的调试器进入MediaPlayer.java。这里是类MediaPlayerShutdownHook。在执行void addMediaPlayer()

前执行行if (jfxPlayer != null)之后,崩溃发生在MediaPlayerShutdownHook.addMediaPlayer(this);内部

我尝试使用JDK8(服务器颠覆),JDK9,采用OpenJDK8,采用开放JDK 11(采用OpenJFX):效果保持不变。

进一步的调查试图寻找Windows版本之间的差异,这使我进入了Windows事件查看器,该事件记录了崩溃。它说javaw.exe在模块0xc000409

中引起了异常PayloadRestrictions.dll

这是完整的消息(很抱歉,我是德国人)

Name der fehlerhaften Anwendung: javaw.exe, Version: 8.0.2110.12, Zeitstempel: 0x5ca2e23b
Name des fehlerhaften Moduls: PayloadRestrictions.dll, Version: 10.0.16299.461, Zeitstempel: 0xc43cac91
Ausnahmecode: 0xc0000409
Fehleroffset: 0x000000000003a570
ID des fehlerhaften Prozesses: 0x1d50
Startzeit der fehlerhaften Anwendung: 0x01d54496ba4afa4b
Pfad der fehlerhaften Anwendung: C:\Program Files\Java\jre1.8.0_211\bin\javaw.exe
Pfad des fehlerhaften Moduls: C:\WINDOWS\SYSTEM32\PayloadRestrictions.dll
Berichtskennung: 9b2608fa-6792-4b17-9d0e-01411fb6ffb3

我在Internet上的调查使我遇到了Windows安全中的ExportAdressFiltering(EAF)引起的类似问题。

Link to the article where firefox.exe causes a similar problem

这可能是我搜索的Windows安装之间的“差异”:我的私人计算机使用标准设置,而公司的PC设置由IT部门控制。

jpg文件和mp4文件位于同一(本地)位置,因此应该没有访问限制的原因。但是也许ImageView对文件使用的访问方法与MediaPlayer不同?!?

我可以以其他方式使用MediaPlayer,以使EAF不再是障碍吗?

感谢您的帮助

Ingo

0 个答案:

没有答案