除了Windows Media Player组件,在百度上搜索到还有不少文章介绍采用Vlc.DotNet组件播放视频,关于Vlc.DotNet的详细介绍见参考文献1,本文学习Vlc.DotNet的基本用法。
VS2022中新建基于.net core的winform程序,在Nuget包管理器中搜索Vlc.DotNet,选择其中的Vlc.DotNet.Forms包,该包用于Winform项目。
安装Vlc.DotNet.Forms包后,会在VS2022工具箱中增加新的分类项,其中的VlcControl控件可以直接拖拽到窗口中使用。
构建最简单的测试界面,主要包括选择视频文件、暂停、继续播放、停止功能,调用代码都比较简单,VlcControl控件提供可供直接调用的函数:
vlcControl1.VlcMediaPlayer.Play();
vlcControl1.VlcMediaPlayer.Pause();
vlcControl1.VlcMediaPlayer.Stop();
需要说明的有两点:
1)Vlc.DotNet封装的是libvlc相关的动态链接库文件,程序启动时必须设置vlcControl1.VlcLibDirectory属性以指定libvlc文件所在文件夹,安装包时不会同步安装libvic,需自行下载,下载地址见参考文献4;
2)vlcControl1.VlcMediaPlayer.Play函数直接传入文件名的话不会播放视频,Play函数的重载形式如下所示,本文使用FileInfo类型传入视频文件名称。
public void Play(FileInfo file, params string[] options)
public void Play(Uri uri, params string[] options)
public void Play(string mrl, params string[] options)
public void Play(Stream stream, params string[] options)
最后是程序运行效果,如下图所示:
参考文献:
[1]https://github.com/ZeBobo5/Vlc.DotNet
[2]https://www.cnblogs.com/luxiaoxun/p/3462153.html
[3]https://github.com/ZeBobo5/Vlc.DotNet/wiki/Getting-started
[4]https://download.videolan.org/pub/videolan/vlc/