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. HTTP 状态代码

    转自:https://support.google.com/webmasters/answer/40132 HTTP 状态代码 如果向您的服务器发出了某项请求要求显示您网站上的某个网页(例如,当用户通 ...

  2. struts2表单验证里field-validator type值一共可以取哪些?都什么含义?

    int 整数: double 实数: date 日期: expression 两数的关系比较: email Email地址: url visitor conversion regex 正则表达式验证: ...

  3. JVM参数配置大全

    前阵子遇到几个面试题都是关于对Java内存控制的,因此从网上找到这篇文章,希望自己对Java的内存分配有重新的认识 /usr/local/jdk/bin/java -Dresin.home=/usr/ ...

  4. SVN 修改URL路径|SVN 项目路径修改

    在svn的根目录下面右键 输入要修改的地址: 点击ok 搞定... ~~~

  5. jquery 使用方式记录

    1.监听键盘事件 $("#id").keyup(function(event){ if(event.keyCode == 13){ $("#btn_addgoods_su ...

  6. hdoj 3746 Cyclic Nacklace【KMP求在结尾加上多少个字符可以使字符串至少有两次循环】

    Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  7. 读书笔记-《基于Oracle的SQL优化》-第一章-3

    优化器: 1.优化器的模式: 用于决定在Oracle中解析目标SQL时所用优化器的类型,以及决定当使用CBO时计算成本值的侧重点.这里的“侧重点”是指当使用CBO来计算目标SQL各条执行路径的成本值时 ...

  8. UITableView类用法大全:UITableView属性

    [storyboard创建tableView步骤] 1.设置根视图 2.选中视图,设置导航栏editor/embed in/navigationcontroller 3.cell设置Identifie ...

  9. 使用Morphia框架操作mongodb

    1.  mac 下 安装mongodb sudo brew update sudo brew install mongodb sudo brew services mongodb start 2.   ...

  10. 内部开发环境 git代码托管说明

    前言 随着员工的增加 代码的开发版本管理 提上了日程.初步计划: 1 一台机器 192.168.1.240 git代码版本管理 2 运行环境 192.168.1.241 内部开发运行环境 软件工程师 ...