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

标签 c# nullreferenceexception libvlc

我知道已经提供了一些部分答案,包括 SO 和最接近的答案:https://github.com/ZeBobo5/Vlc.DotNet/issues/217

我想在我的 winform 中制作一个动态的 vlc 播放器。 我已经成功地静态添加了一个播放器:

        vlcControl2.SetMedia(new System.IO.FileInfo(file1));
        vlcControl2.Play();

但是当我尝试创建一个动态的时,我在 setmedia 行上得到一个 null ref 异常:

var new_vlc = new VlcControl();
        new_vlc.Enabled = true;
        new_vlc.VlcLibDirectoryNeeded += checkdir2;
        new_vlc.Height = 300;
        new_vlc.Width = 300;
        new_vlc.SetMedia(new System.IO.FileInfo(file2));

我知道 new_vlc 不知何故为空,但无法找到我尚未设置的内容,而且我已经为此工作了几个小时。谁能帮忙?

最佳答案

正如 Camilo 所指出的,如果您自己分配一个新的 WinForms 控件,您有责任手动调用 BeginInit/EndInit(诚然,BeginInit 没有做任何特别的事情,但这就是您应该如何使用 ISupportInitialize )。

我们可能应该抛出比您遇到的 NullReferenceException 更好的消息。

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

相关文章:

c - 当我在 C 和 Ubuntu 中使用 fork() 时,Vlc 库失败

C# 编码转换为 UTF-8 - Windows 7 与 Windows Server 2008 R2 上的不同行为?

c# - 在 Unity3D 中,从数字中删除除了一定数量的小数以外的所有内容

c# - 空字符串是空引用?

c# - 模型创建期间的 Entity Framework NullReferenceException

c++ - LibVLC 流式传输到内存 p_audio_data

c# - 如何获取 DataGridView 行值并将其存储在变量中?

c# - 将.net应用程序移动到新服务器时出现SQL Server连接错误

.net - "Object reference not set to an instance of an object"是什么意思?

stream - vlcj::无法在 64 位操作系统中加载库 'libvlc'