C#嵌入vlc控件

C# embed vlc control

我尝试将 VLC 嵌入到我的 WPF 项目中。我已经注册了axvlc.dll。 还下载了 VLC nightly build 版本 2.2.2

A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll

Additional information: 'The invocation of the constructor on type 'Proj1.MainWindow' that matches the specified binding constraints threw an exception.' Line number '3' and line position '9'.

问题是我已经成功地将 VLC 嵌入到另一个项目中。 我还将 PresentationFramework.dll 更新到更新版本.. 为什么我会得到这个例外? 在我的项目中,我只有一个 window 和 windowsFormHost 控件,仅此而已。 这是我的代码:

AxVLCPlugin2 vlc = new AxVLCPlugin2(); 
winFormHost.Child = vlc;
vlc.CreateControl();

请尝试Vlc.DotNet。您可以从 github.

获取源代码和样本

当我尝试将 VLC 插件嵌入到我的 WPF 项目中时,我也遇到了同样的问题。使用 Vlc.DotNet.

后获得成功

看来您的问题与 VLC 插件无关。您的错误消息表明 window 格式错误 XAML。

在您开始寻找与 VLC 相关的问题之前,我会确保您 window 中的 XAML 是正确的。

Here is a stack post about how to deal with that error message

但是假设那个堆栈 post 关于坏 XAML 对你没有帮助...

在 Windows Forms 项目中使用 AxVLC ActiveX 控件几年后,我可以告诉您整个 VLC 代码库是多么精巧。

您不需要自己将 AxVLCPlugin2 添加到 window。您也不应该需要 WindowsFormHost 控件来承载 AxVLC ActiveX COM 组件,假设您已经以任何形式在您的计算机上安装了 VLC,您应该可以使用该组件。

如果您转到 window,然后转到工具箱,您应该能够通过选择工具打开一个 com 组件列表,这将包括一个 VLC com 组件,让您可以在可视化编辑器。这是将控件添加到应用程序的一种不易出错的方法。

按照本指南进行操作,您应该能够找到 COM 组件

Using COM Components

这应该可以解决您的问题。