WPF MediElement 视频播放
2013-05-17 22:59
651 查看
WPF中可以使用MediaElement控件来进行音视频播放,然后需要做个进度条啥的,但是MediaElement.Position(进度)和MediaElement.NaturalDuration居然都不是依赖属性,简直不能忍!
好吧,首先说说比较传统的做法(winform?)
slider用来显示进度以及调整进度,tb1显示当前进度的时间值,tb2显示视频的时长。
player_Loaded 事件中使用DispatcherTimer来定时获取当前视频的播放进度,
player_MediaOpened 事件中获取当前视频的时长(只有在视频加载完成后才可以获取到)
slider_ValueChanged 事件中执行对视频进度的调整
View Code
xaml中的转换器:
<local:TimeSpanConverter x:Key="TimeSpanConverter"/>
其实两种方法实现的都差不多,都需要计时器定时的去获取当前视频的进度,但第二种方面显然要优雅一些。
文章就写到这儿,如有疏漏错误,欢迎指正。
好吧,首先说说比较传统的做法(winform?)
slider用来显示进度以及调整进度,tb1显示当前进度的时间值,tb2显示视频的时长。
player_Loaded 事件中使用DispatcherTimer来定时获取当前视频的播放进度,
player_MediaOpened 事件中获取当前视频的时长(只有在视频加载完成后才可以获取到)
slider_ValueChanged 事件中执行对视频进度的调整
public class TimeSpanConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { var ts = TimeSpan.FromMilliseconds((double)value); return string.Format("{0:00}:{1:00}:{2:00}", ts.Hours, ts.Minutes, ts.Seconds); } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } }
View Code
xaml中的转换器:
<local:TimeSpanConverter x:Key="TimeSpanConverter"/>
其实两种方法实现的都差不多,都需要计时器定时的去获取当前视频的进度,但第二种方面显然要优雅一些。
文章就写到这儿,如有疏漏错误,欢迎指正。
相关文章推荐
- 利用WPF MediaElement去播放视频或者音乐
- 【wpf基础】wpf MediaElement全屏播放视频功能
- 学习wpf播放视频音频的两种不同方法
- WPF之路三:视频的播放
- WPF窗体中视频播放
- 基于FFmpeg的视频播放控件 WPF 支持调整进度
- 用于(海康、大华等)录像机的WPF视频播放控件
- WPF 窗口属性AllowsTransparency 播放视频时 卡顿问题
- WPF MediaElement 声音循环播放
- WPF 通过共享内存播放视频
- WPF 实现视频循环播放
- WPF设置软件界面背景为MediaElement并播放视频
- WPF播放视频
- 用WPF控件MediaElement创建简易播放器(视频区域、播放控制区域、播放列表、循环播放) 分类: .NET 2012-08-16 10:47 3638人阅读 评论(0) 收藏
- 在wpf中如何让MediaElement的视频循环播放
- 用WPF控件MediaElement创建简易播放器(视频区域、播放控制区域、播放列表、循环播放)
- WPF中使用VLC播放控件制作多屏同步视频
- WPF技术触屏上的应用系列(三): 视频播放器的使用及视频播放、播放、暂停、可拖动播放进度效果实现
- C# 使用WPF 用MediaElement控件实现视频循环播放
- 用WPF控件MediaElement创建简易播放器(视频区域、播放控制区域、播放列表、循环播放)