如何将LibDLC中的D3DDevice传递给" HWND"

时间:2014-03-13 10:11:14

标签: c++ video directx directshow libvlc

我想使用libVCL在我的游戏中显示视频,但是当游戏全屏时我使用HWND时出现问题,全屏表面与视频重叠。

我确实有D3DDevice手柄可用,因此视频可以在游戏界面内绘制。 但我发现的只有libvlc_media_player_set_hwnd(),而不是将视频表面传递到游戏界面进行绘图的方法。有没有办法/例子呢?

1 个答案:

答案 0 :(得分:1)

LibVLC中没有这样的功能。

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

请参阅libvlc_video_set_callbacks,libvlc_video_set_format和libvlc_video_set_format_callbacks。

我已经看到这会平滑地播放全高清,但这会比使用VLC直接渲染到视频表面消耗更多的CPU。