gpt4 book ai didi

c++ - 如何将 LibVLC 中的 D3DDevice 传递为 "HWND"

转载 作者:太空宇宙 更新时间:2023-11-04 11:38:21 25 4
gpt4 key购买 nike

我想使用 libVCL 在我的游戏中显示视频,但是当游戏处于全屏模式时,我在使用 HWND 时遇到了问题,全屏表面与视频重叠。

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

最佳答案

LibVLC 中没有这样的函数。

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

参见 libvlc_video_set_callbacks、libvlc_video_set_format 和 libvlc_video_set_format_callbacks。

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

关于c++ - 如何将 LibVLC 中的 D3DDevice 传递为 "HWND",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22375225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com