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

C#Vlc.DotNet库-空引用异常,c#,vlc,C#,Vlc,最近在试图决定让VLC玩家进入C#的最佳方式时偶然发现了这篇文章 我下载了dll文件并将它们导入到我的项目中,但后来意识到我对如何使用它们一无所知。有没有人有这个代码的Windows窗体示例可以使用?已尝试的代码如下所示- Vlc.DotNet.Core.Medias.MediaBase media = new Vlc.DotNet.Core.Medias.PathMedia(@"C:\Users\...\SampleVideos\Wildlife.wmv"); Vlc.DotNet

最近在试图决定让VLC玩家进入C#的最佳方式时偶然发现了这篇文章

我下载了dll文件并将它们导入到我的项目中,但后来意识到我对如何使用它们一无所知。有没有人有这个代码的Windows窗体示例可以使用?已尝试的代码如下所示-

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);
我还在项目的main program.cs中使用此链接中的代码

我目前遇到的问题是,在启动项目时,当它到达->

vlcControl1.Play(media)
问题似乎出在vlcControl上,但我不确定原因。文档似乎很薄,我在codeplex站点上找不到任何工作示例。如果有人有一个工作形式的例子或知道我可能错过了什么,请让我知道

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

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属性似乎都为null。尝试将控件的媒体设置为在

NullReferenceException

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

我无法使用最新版本的VLC.dotnet库使程序运行,而是使用了Raj发布的alpha 2版本。我将VLC 1.1.5版与这个库一起使用,以使基本示例正常运行。我的最终目标是从rtsp设备传输数据,但是这个库似乎还不支持这个功能

对于那些希望使用好的C#包装器来使用VLC的人来说,这是一个很好的例子-

将VLC1.1.1中的库文件用于此项目,效果良好。支持几乎所有通常在VLC中使用的功能,但可以让您更好地控制它们的用途


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

是否有可能包含NullReferenceException的调用堆栈?鉴于上面的代码,vlcControl1或media都不能为null,因此异常必须来自Play方法内部的逻辑。请检查此项。今天晚些时候,我将添加调用堆栈信息,我认为这可能是函数调用中的内容@Raj,该示例是为旧版本的DLL编写的,大部分代码不再工作。