Воспроизведение нескольких видео с помощью libvlcsharp на нескольких мониторахC#

Место общения программистов C#
Anonymous
Воспроизведение нескольких видео с помощью libvlcsharp на нескольких мониторах

Сообщение Anonymous »

Итак, у меня довольно простая проблема, которую, кажется, не так-то просто решить. Я нашел LibVLCSharp для управления видео из моей программы на C#, и это именно то, что я хотел. Но я считаю, что документация довольно сложна или отсутствует.
Я хочу воспроизвести до 4 разных видео на 4 установленных мониторах на одном компьютере с Windows. У меня был рабочий пример для двух мониторов:

Код: Выделить всё

    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();
Это довольно просто, но в FAQ на странице libvlcsharp на github сказано, что НИКОГДА не следует создавать экземпляры более чем одного объекта LibVLC. Что я там и делаю. Все работает нормально, но я не знаю о проблемах.
Чтобы избежать этого, я попытался использовать Media.AddOption следующим образом:

Код: Выделить всё

    media1.AddOption(":video-x=-1024");
media1.AddOption(":video-y=1");
Но это тоже не сработало.
Есть ли другой простой способ отобразить несколько видео на нескольких экранах?

Подробнее здесь: https://stackoverflow.com/questions/782 ... e-monitors

Вернуться в «C#»