我想使用libVCL在游戏中显示视频,但是当游戏在全屏模式下使用HWND时会遇到问题,全屏表面会覆盖视频。

我确实有D3DDevice句柄可用,因此视频可以在游戏界面内绘制。
但是我发现的只是libvlc_media_player_set_hwnd(),而不是将视频界面传递到游戏界面进行绘制的一种方法。有什么方法/示例可以做到这一点吗?

最佳答案

LibVLC中没有此类功能。

我认为您需要使用视频格式回调并将视频缓冲区自己渲染为纹理。那就是我使用的方法(例如,从Java与JMonkeyEngine)。

请参阅libvlc_video_set_callbacks,libvlc_video_set_format和libvlc_video_set_format_callbacks。

我已经看到这种播放方式可以流畅地播放全高清视频,但是与将VLC直接渲染到视频表面相比,这将消耗更多的CPU。

07-26 09:38