Position 属性定义:获取或设置媒体播放时间的当前进度位置。

        //
// 摘要:
// 通过媒体播放时获取或设置进度的当前位置。
//
// 返回结果:
// 媒体时自以来的。默认值为 00:00: 00.
//
// 异常:
// T:System.InvalidOperationException:
// System.Windows.Controls.MediaElement.Clock 属性不是 null。
public TimeSpan Position { get; set; }

从定义中可以看出Position不是依赖属性,不能使用双向或页面绑定等。

更多说明:

Dependency property identifier field: PositionProperty

使用此属性可以设置为媒体内的特定位置。 此属性是可设置的,而不使用特定的 MediaElement.Seek 方法。

如果媒体不支持查找操作(实时流处理媒体便属于这种情况),则设置此属性将对媒体播放没有任何影响。 请在尝试设置Position 之前检查 CanSeek 的值。

如果 Position 是可设置的,则以下运行时值约束将适用:

  • 如果 Position 设置为负值,则该值将恢复到值为 0:0:0 的 TimeSpan

  • 如果将 Position 设置为大于媒体的 NaturalDuration 的值,则 NaturalDuration 设置为 Position

未演示此属性的 XAML 用法。 通常不应在 XAML 中设置此值,因为不能保证在加载媒体源之前可以定位该媒体(它可能是流处理媒体,因此无法定位)。 在引发 MediaOpened 后,检查 CanSeek 的值。 如果该值为 true,则可以定位该媒体,然后可以在代码中设置 Position。 然而,XAML 用法在技术上是可能的,可以使用属性字符串以[days.]hours:minutes:seconds[.fractionalSeconds] 格式设置此用法。 有关时间跨度的 XAML 语法的进一步指导,请参见BufferingTime;将由同一种方法对 Position 进行分析。

需要自定义定时器或线程修改或显示Position的位置

后台关键代码:

DispatcherTimer timer = null;
private void mediaElement_MediaOpened(object sender, RoutedEventArgs e)
{
sliderPosition.Maximum = mediaElement.NaturalDuration.TimeSpan.TotalSeconds;
//媒体文件打开成功
timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds();
timer.Tick += new EventHandler(timer_tick);
timer.Start();
}
private void timer_tick(object sender, EventArgs e)
{
sliderPosition.Value = mediaElement.Position.TotalSeconds;
}

WPF MediaElement.Position属性的更多相关文章

  1. WPF 之 依赖属性与附加属性(五)

    一.CLR 属性 ​ 程序的本质是"数据+算法",或者说用算法来处理数据以期得到输出结果.在程序中,数据表现为各种各样的变量,算法则表现为各种各样的函数(操作符是函数的简记法). ...

  2. 总结一下CSS中的定位 Position 属性

    在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absol ...

  3. Position属性四个值:static、fixed、absolute和relative的区别和用法

    Position属性四个值:static.fixed.absolute和relative的区别和用法 在用CSS+DIV进行布局的时候,一直对position的四个属性值relative,absolu ...

  4. 由position属性引申的关于css的进阶讨论(包含块、BFC、margin collapse)

    写这篇文章的起因是源于这篇文章:谈谈面试与面试题 中关于position的讨论,文中一开始就说的这句话: 面试的时候问个css的position属性能刷掉一半的人这是啥情况…… 其实这问题我本来打算的 ...

  5. Css中的Position属性

    Css中的Position属性 Css属性在线查询地址: http://www.css88.com/book/css/properties/index.htm CSS 中的 position 属性 在 ...

  6. DIV的Position属性和DIV嵌套DIV

    1.前言 我们在利用div+css进行布局时,常常被div的位置弄的焦头烂额,很多人甚至放弃了div而直接用table.这里一如既往的推荐使用div布局,其实我们只要掌握了div的position属性 ...

  7. position属性的四个value

    As we all know, position属性有四个值,分别为 relative,fixed,absolute, static. 1,relative相对定位 (不会脱离文档流) 在一个相对定位 ...

  8. 几种Position属性的用法

    几种Position常见的属性就是一下几种: 1.static:默认值.没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明). 2.re ...

  9. WPF DataGrid常用属性记录

    WPF DataGrid常用属性记录 组件常用方法: BeginEdit:使DataGrid进入编辑状态. CancelEdit:取消DataGrid的编辑状态. CollapseRowGroup:闭 ...

随机推荐

  1. List Of All Machine Learning Sorted By Citation

    List Of All Machine Learning Sorted By Citation With > 300 citations 2013-10-10 See Citation Anal ...

  2. 如何得到UBUNTU源代码

    http://www.pleaseguide.me/367/how-to-get-the-source-code-of-ubuntu 在按书作测试,有难点一一解决. Ubuntu's Source c ...

  3. Silicon Labs电容式触摸感应按键技术原理及应用

    市场上的消费电子产品已经开始逐步采用触摸感应按键,以取代传统的机械式按键.针对此趋势,Silicon Labs公司推出了内置微控制器(MCU)功能的电容式触摸感应按键(Capacitive Touch ...

  4. Android 中LocalBroadcastManager的使用方式

    Android 中LocalBroadcastManager的使用方式 在android-support-v4.jar中引入了LocalBroadcastManager,称为局部通知管理器,这种通知的 ...

  5. PL/SQL游标使用

    游标是用来处理使用SELECT语句从数据库中检索到的多行记录的工具.借助游标的功能,数据库应用程序可以对一组记录逐个进行处理,每次处理一行. 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中 ...

  6. 【转】linux 中dd命令使用详解

    原文网址:http://xiaozhuang.blog.51cto.com/4396589/850657 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究 ...

  7. Delhi 安装ocx的方法

    Delhi 安装ocx的方法 1.通过cmd注册 2.通过delphi 注册 然后 可以修改 classnames  改成__tlb.pas单元中的控件的名称,就可以了 例如下图:

  8. HDOJ/HDU 1321 Reverse Text(倒序输出~)

    Problem Description In most languages, text is written from left to right. However, there are other ...

  9. SRM 409(1-250pt, 1-500pt)

    DIV1 250pt 题意:称string s是vector<string> words的ordered superstring,如果它满足:存在一个数列{x0, x1, x2...xm} ...

  10. Java GC 专家系列5:Java应用性能优化的原则

    本文是GC专家系列中的第五篇.在第一篇理解Java垃圾回收中我们学习了几种不同的GC算法的处理过程,GC的工作方式,新生代与老年代的区别.所以,你应该已经了解了JDK 7中的5种GC类型,以及每种GC ...