WPF调用VLC的方法讲解的很多,可参考[RTSP]WPF用VLC显示RTSP视频。值得注意的是采用页面端创建VlcControl的方式,后端更改VlcVideoSourceProvider. MediaPlayer.Play的options时没有效果,如果设置VlcVideoSourceProvider.MediaPlayer.Video.AspectRatio改变宽高比也没有效果,不知道是不是更改方式有问题(成功解决的可以留言交流下)。所以就换一个加载思路:在页面端使用Image控件来展示,后端采用Image绑定VlcVideoSourceProvider.VideoSource的方式加载,只需要设置Image控件的Stretch="Fill"即可实现视频比例的缩放。
实现效果:
1、首先在工程目录下新建一个文件夹如libvlc里面放x64和x86的VLC相关插件
2、窗体
<Window x:Class="VideoMonitoring.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:wpfVlc="clr-namespace:Vlc.DotNet.Wpf;assembly=Vlc.DotNet.Wpf"
mc:Ignorable="d" WindowStartupLocation="CenterScreen" WindowStyle="None" ResizeMode="NoResize"
Title="VideoMonitoring" Height="600" Width="800" Loaded="Window_Loaded" Closed="Window_Closed">
<Border Grid.Row="1" BorderBrush="#d3d3d3" BorderThickness="0" Background="Black">
<Grid>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDef