Как передать D3DDevice в LibVLC, чтобы быть «HWND»

Я хотел использовать libVCL для отображения видео в моей игре, однако у меня есть проблемы с использованием HWND, когда игра в полноэкранном режиме, полноэкранная поверхность перекрывает видео.

У меня действительно есть дескриптор D3DDevice, чтобы видео могло рисовать внутри игровой поверхности.
Но все, что я нашел, это libvlc_media_player_set_hwnd (), а не способ передать поверхность видео на поверхность моей игры для рисования. Есть ли способ / пример, чтобы сделать это?

1

Решение

В LibVLC такой функции нет.

Я думаю, что вам нужно использовать обратные вызовы формата видео и визуализировать буфер видео в текстуру самостоятельно. Это тот подход, который я использовал (например, из Java с JMonkeyEngine).

Смотрите libvlc_video_set_callbacks, libvlc_video_set_format и libvlc_video_set_format_callbacks.

Я видел плавное воспроизведение Full HD, но это потребляет больше ресурсов процессора, чем визуализация VLC непосредственно на видеоповерхности.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]