LibVLCShrap 无法在 Avalonia 应用程序中使用 opengl win32 视频输出

问题描述 投票:0回答:1

VLC 3.0.8 及更高版本的 ASS 字幕全是黑色(无法阅读)

LibVLCSharp 中也出现此问题。所以我想通过在代码中新建LibVlC实例时使用高级命令行

--vout=glwin32
将视频输出切换到OpenGL(win32)来解决这个问题,例如
var _libVlc = new LibVLC("--vout=glwin32");

但是我发现当媒体播放器绑定到axmal中的Videoview控件时,无法成功切换。 With Binding

当媒体播放器在没有绑定的情况下播放视频时,会自动创建一个新窗口,此时就可以了。 Without Binding

有什么解决方法可以解决这个问题吗?感谢您的帮助。

libvlc avaloniaui avalonia libvlcsharp
1个回答
0
投票

不幸的是,你不能这样做。 Avalonia 控件是通过使用 set_hwnd 函数实现的,该函数内部强制使用 d3d11。

如果您想使用 opengl,则需要 libvlc4 硬件加速回调,以及 大量手动工作...

如果错误尚不存在,我更愿意在 VLC 上提交错误并等待其修复。

© www.soinside.com 2019 - 2024. All rights reserved.