使用 libvlcsharp 在多个显示器上播放多个视频

问题描述 投票:0回答:1

所以我遇到了一个非常简单的问题,解决起来似乎并不容易。我发现 LibVLCSharp 用于从我的 C# 程序控制我的视频,这正是我想要的。但我发现文档非常复杂或不存在。

我想在一台 Windows 计算机上安装的 4 个显示器上播放最多 4 个不同的视频。我在这里有一个 2 台显示器的工作示例:

    string[] vlcParameter1 = new string[]
    {
        @"--video-x=-1024",
        @"--video-y=1",
        @"--video-on-top",
        @"--fullscreen",
        @"--no-one-instance"
    };

    string[] vlcParameter2 = new string[]
    {
        @"--video-x=1",
        @"--video-y=1",
        @"--video-on-top",
        @"--fullscreen",
        @"--no-one-instance"
    };

    using var libvlc1 = new LibVLC(enableDebugLogs: true, vlcParameter1);
    using var libvlc2 = new LibVLC(enableDebugLogs: true, vlcParameter2);

    using var media1 = new Media(libvlc1, new Uri(@"C:\sample.mp4"));
    using var media2 = new Media(libvlc1, new Uri(@"C:\sample.mp4"));

    using var mediaplayer1 = new MediaPlayer(media1);
    using var mediaplayer2 = new MediaPlayer(media2);

    mediaplayer1.Fullscreen = false;
    mediaplayer2.Fullscreen = false;

    mediaplayer1.Play();
    mediaplayer2.Play();

这非常简单,但 libvlcsharp github 页面的常见问题解答说永远不要实例化超过 一个 LibVLC 对象。我正在那里做的事。它工作正常,但我不知道有什么问题。

为了避免这种情况,我尝试像这样使用

Media.AddOption

    media1.AddOption(":video-x=-1024");
    media1.AddOption(":video-y=1");

但这也不起作用。 有没有另一种简单的方法可以在多个屏幕上显示多个视频?

c# video vlc libvlcsharp
1个回答
0
投票

LibVLC 实例可能在库的核心中具有共享状态,这些状态可能会影响您,具体取决于您的用例。不建议这样做,但如果一切对你来说都很好,那就坚持下去。

我会亲自处理视频观看位置,而不是使用

video-x

© www.soinside.com 2019 - 2024. All rights reserved.