WPF MediaElement.Position属性
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属性的更多相关文章
- WPF 之 依赖属性与附加属性(五)
一.CLR 属性 程序的本质是"数据+算法",或者说用算法来处理数据以期得到输出结果.在程序中,数据表现为各种各样的变量,算法则表现为各种各样的函数(操作符是函数的简记法). ...
- 总结一下CSS中的定位 Position 属性
在CSS中,Position 属性经常会用到,主要是绝对定位和相对定位,简单的使用都没有问题,尤其嵌套起来,就会有些混乱,今记录总结一下,防止久而忘之. CSS position 属性值: absol ...
- Position属性四个值:static、fixed、absolute和relative的区别和用法
Position属性四个值:static.fixed.absolute和relative的区别和用法 在用CSS+DIV进行布局的时候,一直对position的四个属性值relative,absolu ...
- 由position属性引申的关于css的进阶讨论(包含块、BFC、margin collapse)
写这篇文章的起因是源于这篇文章:谈谈面试与面试题 中关于position的讨论,文中一开始就说的这句话: 面试的时候问个css的position属性能刷掉一半的人这是啥情况…… 其实这问题我本来打算的 ...
- Css中的Position属性
Css中的Position属性 Css属性在线查询地址: http://www.css88.com/book/css/properties/index.htm CSS 中的 position 属性 在 ...
- DIV的Position属性和DIV嵌套DIV
1.前言 我们在利用div+css进行布局时,常常被div的位置弄的焦头烂额,很多人甚至放弃了div而直接用table.这里一如既往的推荐使用div布局,其实我们只要掌握了div的position属性 ...
- position属性的四个value
As we all know, position属性有四个值,分别为 relative,fixed,absolute, static. 1,relative相对定位 (不会脱离文档流) 在一个相对定位 ...
- 几种Position属性的用法
几种Position常见的属性就是一下几种: 1.static:默认值.没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明). 2.re ...
- WPF DataGrid常用属性记录
WPF DataGrid常用属性记录 组件常用方法: BeginEdit:使DataGrid进入编辑状态. CancelEdit:取消DataGrid的编辑状态. CollapseRowGroup:闭 ...
随机推荐
- oc调用c++接口时 报错 Undefined symbols for architecture i386:
当在oc中调用c++中的方法时,发现说c++中的方法没定义或是找不到 Undefined symbols for architecture i386: "_desTYData", ...
- Android 每天定时提醒功能实现
android要实现定时的功能那肯定就要用到闹铃相关的技术, 那么android闹铃实现是基于 AlarmManager 这个类的,首先我们来看一下它的几个主要的方法. 打开AlarmManager的 ...
- Java随机数
本章先讲解Java随机数的几种产生方式,然后通过示例对其进行演示. 广义上讲,Java中的随机数的有三种产生方式:(01). 通过System.currentTimeMillis()来获取一个当前时间 ...
- poj3167
这道题是一道kmp的扩展版的好题一串匹配一串很容易想到kmp,但是这里的匹配要求的是两个串的名次相同显然名次是会变的,为了方便,我们可以换一种表达对于两个等长的串的相同位置,名次相等就是在它之前比它小 ...
- Spark(Hive) SQL数据类型使用详解(Python)
Spark SQL使用时需要有若干“表”的存在,这些“表”可以来自于Hive,也可以来自“临时表”.如果“表”来自于Hive,它的模式(列名.列类型等)在创建时已经确定,一般情况下我们直接通过Spar ...
- c#后台验证
#region 后台验证 panda /// 验证电话号码的主要代码如下: public bool IsTelephone(string str_telephone) { return System. ...
- HDOJ(HDU) 2524 矩形A + B(推导公式、)
Problem Description 给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形,下图为高为2,宽为4的网格. Input 第一行输入一个t, 表示有t组数据,然后每行输入n,m ...
- Cocos2d-x CCActionInterval
第一部分:CCActionInterval家族(持续动作) 持续动作,顾名思义,就是该动作的执行将持续一段时间.因此持续动作的静态生成函数,往往附带一个时间值Duration.例如: CCAction ...
- MediaInfo源代码分析 3:Open()函数
我们来看一下MediaInfo中的Open()函数的内部调用过程 首先open函数封装了MediaInfo_Internal类中的open()函数 //打开文件 size_t MediaInfo::O ...
- 402. Remove K Digits
(English version is after the code part) 这个题做起来比看起来容易,然后我也没仔细想,先速度刷完,以后再看有没有改进. 用这个来说: 1 2 4 3 2 2 1 ...