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);

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM