libVLCSharp не может создать MediaList - PullRequest
1 голос
/ 12 июня 2019

Я играю с libVLCSharp, и я обнаружил поведение, связанное с проводкой.На самом деле у меня нет проблем с созданием медиафайлов и их воспроизведением с помощью MediaPlayer.Однако, когда я пытаюсь создать Media из MediaList, он разрывается со следующим сообщением:

Не удалось выполнить создание экземпляра на собственной стороне.Убедитесь, что вы установили правильный пакет VideoLAN.LibVLC. [YourPlatform] в свой проект для конкретной платформы

Что я хотел добиться, так это объединение видео с использованием канала ": sout = # collect".

Мой код очень прост:

Core.Initialize();

using (var libvlc = new LibVLC())
using (var mediaPlayer = new MediaPlayer(libvlc))
{
    Media media1 = new Media(libvlc, @"C:\Temp\SampleVideo.mp4");
    Media media2 = new Media(libvlc, @"C:\Temp\SampleVideo.mp4");
    MediaList list = new MediaList(libvlc);
    list.AddMedia(media1);
    list.AddMedia(media2);

    Media mediaList = new Media(list); <-- Error here

    ...
}

В моем проекте используются 2 пакета nuget:

  • LibVLCSharp v3.0.2 12 июня
  • VideoLAN.LibVLC.Windows v3.0.7 10 июня

1 Ответ

0 голосов
/ 13 июня 2019

Вы хотите использовать SetMedia для этого, а не AddMedia.

Связать экземпляр мультимедиа с этим экземпляром списка мультимедиа.

https://www.videolan.org/developers/vlc/doc/doxygen/html/group__libvlc__media__list.html#ga96a38e5aabb5781c2f1932d332363eef

Core.Initialize();

using(var libVLC = new LibVLC())
{
    var media1 = new Media(libVLC, "https://download.blender.org/peach/bigbuckbunny_movies/BigBuckBunny_320x180.mp4", FromType.FromLocation);
    var mediaList = new MediaList(libVLC);
    mediaList.SetMedia(media1);
    var media2 = new Media(mediaList);
}
...