gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 01:24:04 24 4
gpt4 key购买 nike

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

Does VLC media player have a C# interface?

我下载了 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);

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

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

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

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

上方创建的媒体对象时
NullReferenceException

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

最佳答案

我无法使用最新版本的 Vlc.dotnet 库使程序运行,而是使用了 Raj 发布的 alpha 2 版本。我将 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 和插件文件夹包含在构建文件夹中。

关于C# Vlc.DotNet 库 - 空引用异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10354985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com