Position 属性定义:获取或设置媒体播放时间的当前进度位置。
// // 摘要: // 通过媒体播放时获取或设置进度的当前位置。 // // 返回结果: // 媒体时自以来的。默认值为 00:00: 00. // // 异常: // T:System.InvalidOperationException: // System.Windows.Controls.MediaElement.Clock 属性不是 null。 public TimeSpan Position { get; set; }
从定义中可以看出Position不是依赖属性,不能使用双向或页面绑定等。
更多说明:
PositionProperty
MediaElement.Seek 方法。
CanSeek 的值。
Position 是可设置的,则以下运行时值约束将适用:
-
TimeSpan。
-
Position
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(1); timer.Tick += new EventHandler(timer_tick); timer.Start(); } private void timer_tick(object sender, EventArgs e) { sliderPosition.Value = mediaElement.Position.TotalSeconds; }