WPF+VLC视频播放器

version 1.0

MyVideoVLC_v1主界面截图展示
v1主要功能:
实时播放进度及时长/视频总时长/上一个视频/后退5秒/播放(暂停)/前进5秒/下一个视频/音量调整/倍速调整
左侧是播放主窗体
右侧是播放视频列表以及右键菜单
添加播放视频列表/删除当前播放视频/清空视频播放列表
注:本视频播放器界面设计效果展示下一个版本更新


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

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 网络播放线上影片;此软件开发项目是由法国学生所发起的,参与者来自于世界各地,设计了多平台的支持,可以用于播放网络串流及本机多媒体档案之播放。