【问题标题】:How to pass D3DDevice in LibVLC to be the "HWND"如何将 LibVLC 中的 D3DDevice 传递为“HWND”
【发布时间】:2014-03-13 10:11:13
【问题描述】:

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

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

【问题讨论】:

    标签: c++ video directx directshow libvlc


    【解决方案1】:

    LibVLC中没有这个功能。

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

    请参阅 libvlc_video_set_callbacks、libvlc_video_set_format 和 libvlc_video_set_format_callbacks。

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 2013-11-05
    • 2023-03-31
    • 1970-01-01
    相关资源
    最近更新 更多