MediaElement视频控制:播放、暂停、停止、后退、快进、跳转、音量

简介: 原文:MediaElement视频控制:播放、暂停、停止、后退、快进、跳转、音量/* =================================================  * Author:     Micro  * Date:       2016=03-25             点击下载源码     * Qq:         471812366@qq.
原文: MediaElement视频控制:播放、暂停、停止、后退、快进、跳转、音量

/* =================================================
  * Author:     Micro
  * Date:       2016=03-25             点击下载源码  
  * Qq:         471812366@qq.com
  ================================================= */

一、播放窗口

二、选择文件

三、播放视频

四、开发技术要领
创建MediaElement媒体控件

MediaElement mediaElement = new MediaElement();

 
设置视频路径

mediaElement.Source = new Uri(视频路径, UriKind.Relative);

 
当不播放音频或视频时触发事件

mediaElement.MediaEnded += new RoutedEventHandler(mediaElement_MediaEnded);
private void mediaElement_MediaEnded(object sender, RoutedEventArgs e)
{
    mediaElement.Stop();
}

 
当播放音频或视频或是存在播放文件时触发事件,一般用于获取总时长

mediaElement.MediaOpened += new RoutedEventHandler(mediaElement_MediaOpened);
private void mediaElement_MediaOpened(object sender, RoutedEventArgs e)
{
    duration = mediaElement.NaturalDuration.HasTimeSpan ? mediaElement.NaturalDuration.TimeSpan : TimeSpan.FromMilliseconds(0);
}

 
视频总时长

duration = mediaElement.NaturalDuration.HasTimeSpan ? mediaElement.NaturalDuration.TimeSpan : TimeSpan.FromMilliseconds(0);

 
暂停

mediaElement.Pause(); 

 
停止

 mediaElement.Stop();

 
静音

mediaElement.IsMuted = false;

 
有声

mediaElement.IsMuted = true;

 
设置后退播放10秒钟

mediaElement.Position = mediaElement.Position - TimeSpan.FromSeconds(10);

 
设置快进播放10秒钟

mediaElement.Position = mediaElement.Position + TimeSpan.FromSeconds(10);

 
设置跳转到指定秒数播放视频

mediaElement.Position = new TimeSpan((new DateTime(0, 0, 0, 0, 0, 0)).Ticks);
mediaElement.Play();   

 
获取当前视频的时间

string b = mediaElement.Position.ToString().Substring(0, 8);

 
当前转为计数器

string[] videotime = b.Split(':');
int totime = int.Parse(videotime[0]) * 3600 + int.Parse(videotime[1]) * 60 + int.Parse(videotime[2]);
text.Text = totime.ToString();

 
自定义计数器

text.Text = string.Format("{0}{1:00}:{2:00}:{3:00}", "播放进度:", mediaElement.Position.Hours, mediaElement.Position.Minutes, mediaElement.Position.Seconds);

 



目录
相关文章
|
8月前
|
小程序
UniApp video 使用(自定义进度条,及微信无法暂停播放设置进度问题)
UniApp video 使用(自定义进度条,及微信无法暂停播放设置进度问题)
822 0
点击视频播放切换隐藏--添加播放图片按钮
点击视频播放切换隐藏--添加播放图片按钮
|
8月前
|
JavaScript
js全屏、退出全屏、判断是否处于全屏状态
js全屏、退出全屏、判断是否处于全屏状态
241 0
|
10月前
【Three.js入门】处理动画、尺寸自适应、双击进入/退出全屏(Clock跟踪时间,Gsap动画库,自适应画面,进入/退出全屏)
【Three.js入门】处理动画、尺寸自适应、双击进入/退出全屏(Clock跟踪时间,Gsap动画库,自适应画面,进入/退出全屏)
|
JavaScript 前端开发
一个按钮控制定时器的开始与暂停
一个按钮控制定时器的开始与暂停
一个按钮控制定时器的开始与暂停
基于Qt的音乐播放器(二)切换歌曲,调节音量,调节语速,暂停
基于Qt的音乐播放器(二)切换歌曲,调节音量,调节语速,暂停
基于Qt的音乐播放器(二)切换歌曲,调节音量,调节语速,暂停
|
移动开发
h5 Video打开本地摄像头和离开页面关闭摄像头
h5 Video打开本地摄像头和离开页面关闭摄像头
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )(一)
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )(一)
1427 0
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )(一)
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )(二)
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )(二)
706 0
【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )(二)