WPF+VLC视频播放器

version 1.1

发布日期 : 2025年7月6日 更新日期 : 2025年7月8日
MyVideoVLC_v1主界面截图展示

v1 主要功能:

1、实时播放进度及时长
2、视频总时长
3、上一个视频
4、后退5秒
5、播放(暂停)
6、前进5秒
7、下一个视频
8、音量调整
9、倍速调整
10、左侧是播放主窗体
11、右侧是播放视频列表以及右键菜单
12、添加播放视频列表
13、删除当前播放视频
14、清空视频播放列表

v1.1 新添加新功能:

1、从资源管理器拖拽文件到播放器右侧的播放列表里面。
2、循环播放视频,即当一个视频播放完毕以后自动播放下一个视频。
3、循环播放视频,可以使用者自行决定,在视频下方的工具按钮栏有一个复选框。选择复选框,即自动播放下一条视频。取消勾选复选框,当前视频播放完毕后不会自动播放下一个视频,即手动选择播放视频。
4、全屏/退出全屏播放视频(在视频播放位置右键点击弹出快捷菜单,选择全屏或退出全屏。
注:本视频播放器界面设计效果展示下一个版本更新


下面对本播放器代码片段介绍

vlcLibDirectory是指VLC类库文件存放目录

//初始化播放器
this.VlcPlayer.SourceProvider.CreatePlayer(vlcLibDirectory);

FilePath是指当前视频播放的文件地址

//上一个视频按钮
this.VlcPlayer.SourceProvider.MediaPlayer.Play(new Uri(@"" + FilePath), new string[] { });

后退按钮

//后退5秒
var currentPosition = this.VlcPlayer.SourceProvider.MediaPlayer.Time; // 获取当前播放位置(以毫秒为单位)
this.VlcPlayer.SourceProvider.MediaPlayer.Time = (long)(currentPosition - (5 * 1000)); // 设置新的播放位置

快进按钮

//快进5秒
var currentPosition = this.VlcPlayer.SourceProvider.MediaPlayer.Time; // 获取当前播放位置(以毫秒为单位)
this.VlcPlayer.SourceProvider.MediaPlayer.Time = (long)(currentPosition + (5 * 1000)); // 设置新的播放位置

当进度条改变时更新视频播放进度

long value = (long)this.media_slider.Value;
await Task.Run(() => this.VlcPlayer.SourceProvider.MediaPlayer.Time = value);

获取播放当前时间之MediaPlayer_TimeChanged事件

this.Dispatcher.BeginInvoke(new Action(delegate
{
if(e != null)
{
CurrentTimeLength = e.NewTime;
txtTimeLength.Text = TimeSpan.FromMilliseconds(e.NewTime).ToString().Substring(0, 8);
}
}));

视频播放总时长

TimeSpan.FromMilliseconds(e.NewLength).ToString().Substring(0, 8);


媒体播放器VLC Media Player简介

简单、快速、强大的媒体播放器。
VLC Media Player 是一款可播放大多数格式,而无需安装编解码器包的媒体播放器。可以播放 MPEG-1、MPEG-2、MPEG-4、DivX、DVD/VCD、卫星数字电视频道、地面数字电视频道(digital terrestrial television channels)、在许多作业平台底下透过宽带 IPv4、IPv6 网络播放线上影片;此软件开发项目是由法国学生所发起的,参与者来自于世界各地,设计了多平台的支持,可以用于播放网络串流及本机多媒体档案之播放。