原文: MediaElement視訊控制:播放、暫停、停止、後退、快進、跳轉、音量
/* =================================================
* Author: Micro
* Date: 2016=03-25
點選下載下傳源碼* Qq: [email protected]
================================================= */
一、播放視窗

四、開發技術要領
建立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);