WPF中的C#Vlc包装器

问题描述

我一直在关注这个小小的8min tutorial

我对C#还是很陌生,但大多数人都了解发生了什么。我唯一不了解的是7:11。他似乎引入了不在范围内的名称空间(或变量)。由于这一行,我假设它是vlc包装器的一部分:

 video.MediaPlayer.VlcLibDirectoryneeded += MediaPlayer_VlcLibDirectoryNeeded;

您所说的一切都有效!

您不会碰巧知道为什么这些错误会给我带来错误吗?我不再在课程中列出这些内容。我假设只是将相同的方法重命名为其他方法

enter image description here

解决方法

视频未显示项目的所有部分。视频中未显示的MainWindow.xaml文件包含来自VlcControl NuGet程序包的Vlc.DotNet.Wpf。此控件用于在主窗口中显示实际的视频内容。在XAML中这样声明:

<Window ...
        xmlns:wpf="clr-namespace:Vlc.DotNet.Wpf;assembly=Vlc.DotNet.Wpf">
   <vlc:VlcControl x:Name="video"/>
</Window>

vlc前缀只是用于访问控件的XAML命名空间。 x:Name属性定义实例的名称。因此,后面代码中的video只是窗口中的VlcControl实例。

但是,您仍然不会访问MediaPlayer的{​​{1}}属性,因为在版本3.0.0中,video用于WPF was rewritten和{{ 1}}属性已移动。您现在可以像这样访问它:

VlcControl

视频中显示的MediaPlayer事件仅存在于WinForms video.SourceProvider.MediaPlayer 中,在重写时已从WPF变体中删除。