C#/LibVLCSharp:克隆输出到辅助监视器

问题描述

我有一个使用 LibVLC VideoView 的 C# 应用程序。 我试图在我的应用程序中以小预览形式播放视频,并在外部显示器上以全屏形式播放。

到目前为止,我正在使用以下解决方案: 创建 MediaPlayer 对象时,我使用命令行选项“--clone-count”、“--video-x”和“--video-y”。 这会创建一个单独的窗口(“Direct3d 输出”),它位于辅助监视器上。 但是,我无法将此“直接 3D 输出”切换到全屏,因此它没有窗口边框并且 Windows 任务栏不可见。 有没有办法做到这一点?或者是否有其他合理的解决方案可以将视频从 VideoPlayer-Control 克隆到全屏显示的单独显示器?

我的代码

    string[] vlcParameter = new string[]
    {
        @"--video-splitter=clone",@"--clone-count=2",@"--video-x=" + secondaryMonitor.WorkingArea.Left,@"--video-y=" + secondaryMonitor.WorkingArea.Top,@"--video-on-top"
    };
    vlc = new LibVLC(true,vlcParameter);

解决方法

没有办法做到这一点。使用 libvlc 3,1 个媒体播放器 = 1 个视频视图,我认为他们没有计划改变这一点。

您可以创建两个视频播放器,但它们可能有点不同步。

,

我找到了一个带有以下命令行参数的伪全屏克隆解决方案:

                        @"--video-splitter=clone",@"--clone-count=2",@"--video-x=" + x,@"--video-y=" + y,@"--no-video-deco",@"--no-embedded-video",

只要视频具有与显示器相同的分辨率,此方法就有效。 是否有确定“Direct3D 输出”窗口大小的命令行参数。 --Width 和 --Height 参数不起作用。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...