9

有人知道 C# VLC 1.1 Wrapper 吗?我找到了一些旧版本 VLC 的包装器(还没有尝试过),但没有找到新版本的包装器。

因此,如果您知道任何内容,请发布它们。

4

3 回答 3

6

我正在使用http://www.codeproject.com/KB/audio-video/nVLC.aspx - 它非常好,是我为 C# 找到的最新库。

应该注意的是,尽管该库是使用 GPL 许可证列出的,但其作者在评论中说它使用 libVLC 使用的相同许可证,从 2.0 版开始是 LGPL。

于 2011-04-14T11:16:40.553 回答
4

libvlc.net 现在支持 libVLC 1.1.x。您必须从 SVN 存储库中获取源代码;他们还没有正式发布这个支持。

http://sourceforge.net/projects/libvlcnet/

于 2010-08-24T14:33:56.627 回答
1

我也在寻找这个,我发现那里的大多数 .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/...”

于 2012-06-28T19:11:25.200 回答