基于VLC的本地视频播放器

这两天利用Vlc.DotNet.Forms做了一个WinForm版本的本地视频文件播放器,可以实现文件播放、暂停、进度条拖拽、截图功能,在这里做一个简单的记录。

使用工具:VS2019 , VLC 3.0.11。

1、安装Vlc.DotNet.Forms

在项目NuGet管理中引入对应的依赖包,如下图。

 

2、获取Vlc.DotNet依赖的VLC类库

从官网(https://www.videolan.org/vlc/index.zh.html)下载VLC播放器安装包,本项目使用版本为vlc-3.0.11-win32.exe,解压安装包获取如下图所示的相关组件,复制到项目编译生成目录下。

 

3、使用VlcControl控件

VLC类库安装成功后(步骤1)即可使用封装好的VlcControl控件(WinForm自定义控件)进行视频播放相关操作,在工具箱中可以看到此控件,可以直接拖拽到界面使用。

 

动态创建VlcControl:

/// <summary>
/// 初始化VLC控件
/// </summary>
private void InitVlcControl()
{
	this.pnlVideo.SuspendLayout();
	this.vlcControl = new VlcControl();
	// 开始初始化
	this.vlcControl.BeginInit();
	this.vlcControl.BackColor = Color.Black;
	this.vlcControl.Dock = DockStyle.Fill;
	this.vlcControl.Spu = -1;
	// 设置VLC依赖组件目录
	this.vlcControl.VlcLibDirectory = new DirectoryInfo(Path.Combine(Application.StartupPath, "vlclib"));
	this.vlcControl.VlcMediaplayerOptions = null;
	this.vlcControl.Stopped += new EventHandler<VlcMediaPlayerStoppedEventArgs>(this.vlcControl_Stopped);
	this.pnlVideo.Controls.Add(this.vlcControl);
	// 初始化完成
	this.vlcControl.EndInit();
	this.pnlVideo.ResumeLayout();
}

注意

(1)必须调用BeginInit();方法开始进行初始化,否则VlcControl无法初始化成功,报错“未将对象引用设置到对象的实例”;

(2)必须设置VLC类库目录到VlcLibDirectory,否则无法编译,这里设置为程序所在目录下的“vlclib”文件夹,即步骤2中dll复制到的目录。

 

播放、暂停、截图等功能的实现比较简单,仅需调用VlcControl提供的接口方法即可实现。

// 播放本地文件
vlcControl.SetMedia(new Uri(videoFilePath));
vlcControl.Play();

// 暂停
vlcControl.Pause();

// 停止
vlcControl.Stop();

// 截图保存到指定文件
vlcControl.TakeSnapshot(imageSavePath);

// 设置进度,position为进度百分比,等于1时会停止播放
vlcControl.Position = position;

参考博文: https://www.cnblogs.com/kiba/p/11303137.html

 

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Qt视频播放器是一个用于音视频播放开发的工具,其中一个常用的库是VLC-Qt。VLC-Qt是一个开源库,它结合了Qt框架和libVLC库,提供了媒体播放的视频和音频处理控制的核心类,并提供基于QWidget和QML的GUI框架。这个库还支持硬件加速,使用VLC-Qt库可以帮助开发者更快速地实现音视频播放器。 如果你需要使用Qt视频播放器,你可以下载相应的资源并按照文档配置好环境,这样就可以运行这个播放器了。下载的资源中的源码经过本地编译,是可运行的。这些资源经过专业老师的审定,可以满足基本的学习和使用参考需求。你可以放心地下载和使用这些资源来构建自己的Qt视频播放器。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [qt视频播放,qt视频播放器,C,C++](https://download.csdn.net/download/weixin_42696333/22362832)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [基于C++&QT钩子实现屏蔽系统按键、任务管理器、任务栏的实例.zip](https://download.csdn.net/download/qq_35831906/88259390)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值