在 Windows 7 上运行 LibVLC.NET 示例

本文关键字:LibVLC NET 示例 运行 Windows | 更新日期: 2023-09-27 17:56:45

我想尝试一下 .Net C# 的 VLC 媒体框架绑定。

我从 http://libvlcnet.codeplex.com/SourceControl/latest 下载源代码,解压缩,从 http://www.videolan.org/vlc/下载最新的VLC,安装到C:''程序文件''。然后我打开下载的源代码项目,构建它,毕竟我尝试启动 D:''libvlcnet-20526''trunk''Tests''Tutorial''bin''Debug''Tutorial.exe最后错误是 tred :

 Unhandled exception:  System dll not found exception no valid libvlc.dll could br found VLC is probably not installed!
 at LibVlc.Net.LibVlcLibrary.getorloadlibrary(String libVLCLibrary)

我转到 C:''Program Files''VideoLAN''VLC 并复制"libvlccore.dll"、"libvlc.dll"和"plugins"文件夹(http://libvlcnet.codeplex.com/中的 instruciotns),然后将这些文件粘贴到 D:''libvlcnet-20526''trunk''Tests''Tutorial''bin''Debug'' ,在同一个目录中我创建"VLC"文件夹并粘贴 dll,完成后我复制了"VLC"文件夹并粘贴到每个上层文件夹中,以确保此应用程序可以看到 dll(我猜你已经注意到冗余:))。我对那个"VLC"文件夹的内容做了同样的事情,但仍然得到同样的错误。我想我做了 http://libvlcnet.codeplex.com/建议我做的一切,但我仍然未能启动该项目。

我做错了什么?


初始化库时,我提供了 VLC 的路径:

 LibVLCLibrary library = LibVLCLibrary.Load("C:''Program Files''VideoLAN''VLC");

我目前安装了 2.0.0 VLC,所需版本为 1.2,但是官方 ftp 没有该版本 http://download.videolan.org/pub/videolan/vlc/,这次我收到另一个错误"过程入口点aout_ismuted不能位于动态链接库中 liblccore.dll"。我也尝试了VLC 1.1.2,但它仍然无法启动。

在 Windows 7 上运行 LibVLC.NET 示例

我已经从 http://libvlcnet.codeplex.com/下载了libvlcnet-20526.zip源代码 尝试运行它 - 找不到 VLC 库。我先尝试诊断。

我已经安装了VLC,它有libvlc 2.1.2。示例应用对此进行了扫描,并将其检测为不受支持。呃呃。

我已经卸载了VLC,然后安装了最新的VLC。它有libvlc 3.0。当然,也不被接受。

LibVLCNet项目主页上的描述说它需要libvlc 1.2.x。我没能像你一样找到那个。运气 不好。

然后我想到了。LibVlc 相当..写得好。真的有这么大的变化吗?

我去了libvlcnet的代码,文件libVlcLibrary.cs, line 162并在那里看到:

if((major != 1) && (minor != 2))
    throw new Exception(String.Format("The version is not supported: {0}", version));

我将其注释掉并通过代码进行了调试。找到并加载了所有导出。当然,这只是出口。它们的参数可能已经更改。

但是,在注释掉之后 - 示例应用程序运行并加载了 WMV 视频并成功播放了它!

由于版本不正确,存在一些错误 - 例如,"下一帧"按钮使应用程序崩溃,可能是基础功能在版本之间发生了变化。但是 - 基本播放工作,并且找到了所有导出 - 所以 LibVLCNet 库 它应该是可修补的,不仅可以修补到 2.x 版本,还可以修补到 3.x libvlc 版本。

您可以使用

Meta.VLC .它具有 WPF 控件。

这是github链接:https://github.com/higankanshi/Meta.Vlc你可以在nuget上找到它:https://www.nuget.org/packages/Meta.Vlc.Wpf/

此外,如果需要 WinForm 控件,请使用 VLC.NET:GitHub:https://github.com/ZeBobo5/Vlc.DotNetNuget: https://www.nuget.org/packages/Vlc.DotNet.Forms/

更好的

是github上的vlc.DotNet,截至2019年4月仍在更新:

https://github.com/ZeBobo5/Vlc.DotNet/wiki/Using-Vlc.DotNet-in-WinForms

我在 5 分钟内从头开始工作。

我找到了另一个.NET C#库,其中包含一些工作示例 http://sourceforge.net/projects/libvlcnet/