Windows Forms OpenFileDialog 和 LibVLC 插件 dll 入口点错误

Windows Forms OpenFileDialog and LibVLC plugins dll entry point error

我正在使用 libvlc 库。当我播放我之前在 openFileDialog 中选择的视频文件时,效果很好。但我的目标是从网络摄像头流式传输视频并进行预览。

我让 libvlc 在屏幕上显示网络摄像头视频,但是当 我注释掉 openFileDialog.Show() 行(我不再需要)时,"Entry point couldn't be found in the library" 错误每个 libvlc 插件(基本上是一个 .dll 文件)的对话框开始弹出

private void btPlay_Click(object sender, EventArgs e)
    {
        /*
        if (openFileDialog1.ShowDialog() != System.Windows.Forms.DialogResult.OK)
            return;
         * */

        CleanUp();

        string pluginPath = Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), "plugins");

        string[] args = new string[]{
            "--no-qt-error-dialogs",
            "--ignore-config",
            "--quiet",
            "--plugin-path=" + pluginPath
        };

        //LibVlc initialization, that is where ERORR OCCURES
        vlcInst = new VlcInstance(args);

        /*  Input media settings    */

        //VlcMedia media = new VlcMedia(vlcInst, openFileDialog1.FileName);
        VlcMedia media = new VlcMedia(vlcInst, "dshow://");

        LibVlc.libvlc_media_add_option(media.handle, "dshow-vdev=USB2.0 UVC VGA WebCam");
        LibVlc.libvlc_media_add_option(media.handle, "dshow-adev=none");

        /*  Output media settings    */

        string[] outputOptions = new string[] {
            "sout=#duplicate{",
                "dst=",
                    "display",
                ",",
                "dst=",
                    "'",
                        "transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100}",
                        ":http{mux=ffmpeg{mux=flv},dst=:666/}",
                    "'",
            "}"
        };

        LibVlc.libvlc_media_add_option(media.handle, String.Concat(outputOptions));

        streamer = new VlcStreamer(media);

        media.Dispose();

        streamer.Drawable = mediaPanel.Handle;

        streamer.Play();
    }

    private void CleanUp()
    {
        if (streamer != null)
        {
            streamer.Stop();
            streamer.Dispose();
        }
    }

我看不到 OpenFileDialog 和 libvlc 插件之间的任何关系。

什么会导致这样的问题?

已编辑:

在我跳过所有错误对话框后,程序继续工作。

当我使用 VLC 播放器时,它会复制 "plugin" 文件夹中的插件。在我的应用程序中,我使用了这些插件并出现错误。在我下载并解压播放器的新实例后,我发现没有重复的插件,所以我得出结论,当你第一次启动播放器时,播放器会复制插件(没有测试)。 当我用新插件文件夹替换我的插件文件夹时,所有错误都消失了。