首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# Vlc.DotNet库-空引用异常

C# Vlc.DotNet库-空引用异常
EN

Stack Overflow用户
提问于 2012-04-28 01:11:01
回答 1查看 11.2K关注 0票数 4

最近,在试图决定让VLC播放器进入C#的最佳方式时,偶然发现了这篇文章。

Does VLC media player have a C# interface?

我下载了dll文件并将它们导入到我的项目中,但随后意识到我并不知道如何使用它们。有没有这段代码的Windows窗体示例?尝试过的代码如下所示-

代码语言:javascript
复制
Vlc.DotNet.Core.Medias.MediaBase media = new
    Vlc.DotNet.Core.Medias.PathMedia(@"C:\Users\...\SampleVideos\Wildlife.wmv");

Vlc.DotNet.Forms.VlcControl vlcControl1 = new Vlc.DotNet.Forms.VlcControl();
vlcControl1.Play(media);

我还在我的项目的主program.cs中使用此链接中的代码。

http://vlcdotnet.codeplex.com/wikipage?title=Forms

我目前遇到的问题是,在启动项目时,当它到达->时会抛出一个NullReferenceException

代码语言:javascript
复制
vlcControl1.Play(media)

问题似乎出在vlcControl上,但我不确定原因。文档似乎相当单薄,而且我在codeplex站点上找不到任何可用的示例。如果谁有一个工作表单的例子,或者知道我可能错过了什么,请让我知道!

下面是错误发生时出现的调用堆栈->

代码语言:javascript
复制
RTSPViewer_Test.exe!RTSPViewer_Test.Form1.Form1_Load(object sender, 
    System.EventArgs e) Line 31 + 0xd bytes C#
RTSPViewer_Test.exe!RTSPViewer_Test.Program.Main() Line 30 + 0x1d bytes C#

调试时,VLC控件的Media和Medias属性似乎都为空。当尝试将控件的Media设置为在

代码语言:javascript
复制
NullReferenceException

检查VLC控件对象媒体确实等于null,但我不确定为什么它没有正确初始化。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-30 23:07:30

我无法使用最新版本的Vlc.dotnet库来运行程序,而是使用由Raj发布的Alpha2版本。我在这个库中使用了VLC版本1.1.5,以使基本示例能够正常运行。我的最终目标是从rtsp设备流传输,但是这个库似乎还不支持这个功能。

对于任何想要使用好的C#包装器来使用VLC的人来说,这是一个很好的例子-

http://www.codeproject.com/Articles/109639/nVLC

在这个项目中使用了VLC 1.1.1中的库文件,并且运行良好。支持几乎所有你通常会在VLC中使用的功能,但让你可以更好地控制它们的用途。

使用这些DLL包装时出现的许多问题都是由于源DLL文件的版本不正确引起的。VLC库目前只有32位,因此您需要确保使用x86模式进行编译,否则libvlc.dll将无法正确加载,应用程序将崩溃。使用上面的示例,您还必须确保libvlc.dll、libvlccore.dll和插件文件夹包含在build文件夹中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10354985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档