C# VLC 1.1封装器

9

有人了解C# VLC 1.1包装器吗?我找到了一些较旧版本的VLC包装器(尚未尝试),但没有适用于新版本的。

所以如果您知道任何信息,请发布它们。


请查看 http://vlcdotnet.codeplex.com/ ,它非常好。 - surya
但是文档非常不好。 - Obiwahn
3个回答

6

4

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一起提供的dlls(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的帮助,你可以只获取所需功能而不多余。

CallingConvention = CallingConvention.Cdecl需要.NET 4.0+。这两个函数本身并没有做任何有趣的事情,它们只是初始化和释放VLC框架所需的资源。

在处理文件路径时要小心(特别是链接到插件文件夹时),因为它们需要使用"/"而不是 "\",例如 "C:/Program Files/..."


1
我不理解这个答案的目的。你声称无法使用它,并且在方法中得到了一个空结果,你真的应该包含网站本身的内容。 - Security Hound
我会编辑我的答案,因为现在我能够运行它了。虽然我无法让它运行,但我认为他可以看一下它。 - HFSDev
真的不明白为什么会被踩 :/ 我确信这跟我的代码有关,而不是博客文章本身,并且我认为它值得分享,因为我曾经在找它时遇到了困难。如果继续被踩,我觉得我可能会被禁言。 - HFSDev
你所做的就是链接到一个三年前的博客文章。这个答案没有对Spiderdevil或Sean的答案进行扩展。在你加入更多努力(代码)到你的回答之前,我不能取消我的踩票。你仍然没有包含网站上的内容。 - Security Hound
也许现在可以了吗? :) 我理解你的想法,但我不喜欢复制粘贴别人博客的内容而不需要用户访问博客。而且这篇三年前的博客文章救了我的命 :) - HFSDev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接