我正在使用VS 2017并在C#中编码。我安装了4个Vlc库来播放Windows窗体应用程序中的视频。我在表格中放了一个Vlc控件。然后,在代码中,我写道:
vlcControl1.SetMedia(curFolder + @"\media\1.mp4");
vlcControl1.Play();
当我运行它时,我得到一个“未找到VlcLibDirectory”。我需要做什么?我看到我可以通过VlcControl1属性中的可视控件设置该目录,但该文件夹是什么?
对不起,这已经晚了...
你得到了第一部分,在Visual Studio中获取包,现在你需要它的库。
下载:https://github.com/ZeBobo5/Vlc.DotNet/tree/master
将lib目录放在应用程序可以找到的位置,并将VlcLibDirectory设置为等于新的DirectoryInfo(dir的路径)。
我是这样做的:
var libDirectory = new DirectoryInfo(Path.Combine(".", "libvlc", IntPtr.Size == 4 ? "x86" : "x64"));
vlcControl1 = new Vlc.DotNet.Forms.VlcControl();
vlcControl1.VlcLibDirectory = libDirectory;
需要加载的库是libvlc.dll,它位于安装VLC软件的文件夹中。
我几乎访问了每个Google结果页面,几乎失去了希望,但这最终对我有用:
1)在我的FormsApp文件中创建了一个对象:
VlcControl vlcControl1 = new VlcControl();
2)在构造函数中实例化它:
VlcControl vlcControl1 = new VlcControl();
3)在我的FormsApp_Load()中添加了以下行:
vlcControl1.BeginInit();
vlcControl1.VlcLibDirectory = new DirectoryInfo(_exeFolder + @"\libvlc\win-x86"); //Make sure your dir is correct
vlcControl1.VlcMediaplayerOptions = new[] { "-vv"}; //not sure what this does
vlcControl1.EndInit();
YourControlContainer.Controls.Add(vlcControl1); //Add the control to your container
vlcControl1.Dock = DockStyle.Fill; //Optional
this.vlcControl1.Click += new EventHandler(vlcControl1_Click); //Optional - added a click event .Play()
希望这有助于某人。
我也遇到过这个问题。
我只是在Form上查看VlcControl的属性,并通过浏览到“libvlc.dll”所在的目录来更改Media Player类别下的VlcLibDirectory项。
(在我的申请中C:\Users\MCOT\source\repos\WindowsApp3\packages\VideoLAN.LibVLC.Windows.3.0.6\build\x86
)