zoukankan      html  css  js  c++  java
  • 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);
    



  • 相关阅读:
    AGC041
    二分图 学习笔记
    区间DP 学习笔记
    3月21日考试 题解(数据结构+区间DP+贪心)
    Tarjan 做题总结
    3月15日考试 题解(数学+背包+线段树)
    差分约束 学习笔记
    Tarjan算法 学习笔记
    拓扑排序 学习笔记
    并查集 学习笔记
  • 原文地址:https://www.cnblogs.com/sntetwt/p/5321658.html
Copyright © 2011-2022 走看看