将我的Java VLCJ应用程序迁移到我的新Windows 11计算机后,该程序在调用时崩溃。我将
vlcjplayer.stop()
与vlcj4.8.2
结合使用。我正在运送自己的Oracle JRE,版本是VLC3.0.21
。
这是我正在调用的代码的相关部分(其中从按钮调用
17.0.12
,stop()
是类型
ActionListener
):
vlcPlayer
一些侧面事实:
EXACT相同代码在Windows 10上运行良好!同样的Java
版本,相同的EmbeddedMediaPlayer
public void stop() {
submit(() -> vlcPlayer.stop());// new since vlcj-4: callback to VLC from a separate thread!
}
public void submit (final Runnable runnable) {
vlcPlayer.submit(runnable);
}
VLC
,vlcj
,...,而较旧的视频不会引起问题!当我使用官方VLCJ测试应用程序播放有问题的视频时,不会发生崩溃!我比较了各自的代码部分,但找不到在调用停止方法的方式上有真正的差异。问题似乎与我的特定个人系统设置没有连接。它发生在
任何Windows 11机器上
VLC LogFile不包含任何错误。该过程只是在编写日志时崩溃。我正在搜索Windows事件查看器中的错误,并且可以找到各自的错误事件。这就是它们的样子(不幸的是在德语中):
mp4
mkv
而不是mpeg2
Edit
1:我设法捕获了错误消息VLC日志的屏幕截图到控制台。 (1)我称之为
Fehlerhafter Anwendungsname: java.exe, Version: 17.0.12.0, Zeitstempel: 0x31da67d3
Fehlerhafter Modulname: libdirect3d11_filters_plugin.dll, Version: 3.0.21.0, Zeitstempel: 0x0075006c
Ausnahmecode: 0xc0000005
Fehleroffset: 0x000000000000155a
Fehlerhafte Prozess-ID: 0x1E5C
Fehlerhafte Anwendungsstartzeit: 0x1DB641EF886AD0F
Fehlerhafter Anwendungspfad: D:\Java_Programme\Jukebox\jre-17.0.12\bin\java.exe
Fehlerhafter Modulpfad: C:\Program Files\VideoLAN\VLC\plugins\d3d11\libdirect3d11_filters_plugin.dll
Berichts-ID: a6019a38-7882-422c-bafa-2b1fa2bd6f7c
Vollständiger Name des fehlerhaften Pakets:
Fehlerhafte paketbezogene Anwendungs-ID:
,(2)是VLCJ事件处理程序接收
opengl
事件的时间。在本机VLC之间会引发错误(显然导致崩溃):
Edit[2]:
工作代码示例:
direct3d11
vlcplayer.stop()
请参阅VLC.中的问题。 在最新的VLC 3.x夜间构建
https:///artifacts.videolan.org/vlc-3.0/nightly-win64/20250307-0220/中,这似乎已经解决。