libVLCSharp无法创建MediaList

时间:2019-06-12 09:37:32

标签: c# video vlc libvlc libvlcsharp

我正在和libVLCSharp一起玩,并且发现了有线行为。实际上,我创建媒体并使用MediaPlayer播放时没有问题。但是,当我尝试从MediaList创建媒体时,它会显示以下跟随消息:

  

无法在本机端执行实例化。确保你   在您的计算机中安装了正确的VideoLAN.LibVLC。[YourPlatform]软件包   平台特定项目

我想实现的是使用“:sout =#gather”管道进行视频合并。

我的代码很基本:

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 6月12日
  • VideoLAN.LibVLC.Windows v3.0.7 6月10日

1 个答案:

答案 0 :(得分:-1)

您要为此使用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);
}