有人知道 C# VLC 1.1 Wrapper 吗?我找到了一些旧版本 VLC 的包装器(还没有尝试过),但没有找到新版本的包装器。
因此,如果您知道任何内容,请发布它们。
我正在使用http://www.codeproject.com/KB/audio-video/nVLC.aspx - 它非常好,是我为 C# 找到的最新库。
应该注意的是,尽管该库是使用 GPL 许可证列出的,但其作者在评论中说它使用 libVLC 使用的相同许可证,从 2.0 版开始是 LGPL。
libvlc.net 现在支持 libVLC 1.1.x。您必须从 SVN 存储库中获取源代码;他们还没有正式发布这个支持。
我也在寻找这个,我发现那里的大多数 .NET 包装器要么已经过时,不能立即工作,要么拥有不适合专有软件的许可证。
话虽如此,我开始考虑构建自己的包装器。由于大多数包装器的代码过多,并且难以理解和使用,因此让自己成为包装器的想法越来越多。说,http://www.helyar.net/2009/libvlc-media-player-in-c-part-2/是开始编写自己的代码的好地方。
请注意,libvlc 和 libvlccore 已将许可证更改为 LGPL。正如 Jean-Baptiste Kempf 在一个 videolan 论坛帖子中所说:“您可以获取随 VLC 安装 >= 2.0.0 提供的 dll(libVLC 和 libVLCcore)。”
现在要让它工作,您必须将 libvlc.dll 和 libvlccore.dll 与您的 exe 文件放在同一目录中,因为某些代码指向本地目录...
要与 libvlc 中的一个函数进行互操作,请执行以下操作:
创建一个类,该类将包含您要与之互操作的函数:
static class LibVlc
{
[DllImport("libvlc", CallingConvention = CallingConvention.Cdecl)]
public static extern IntPtr libvlc_new(int argc, [MarshalAs(UnmanagedType.LPArray,
ArraySubType = UnmanagedType.LPStr)] string[] argv);
[DllImport("libvlc", CallingConvention = CallingConvention.Cdecl)]
public static extern void libvlc_release(IntPtr instance);
}
在 vlc 文档 libvlc.html">http://www.videolan.org/developers/vlc/doc/doxygen/html/group_libvlc.html 的帮助下,您只能拥有所需的功能,仅此而已。
.NET 4.0+ 需要 CallingConvention = CallingConvention.Cdecl。以上两个函数本身不会做任何有趣的事情。它们只是初始化和释放 VLC 框架所需的资源。
小心文件路径(特别是在链接到插件文件夹时),因为它们需要使用“/”而不是“\”,如“C:/Program Files/...”