当前位置:编程学习 > wap >>

使用MediaElement播放时,怎样用slider控件来同步显示播放进度?


 private void SampleMedia_MediaOpened(object sender, RoutedEventArgs e)//MediaElement
        {
            this.MediaProgress.Maximum = this.SampleMedia.NaturalDuration.TimeSpan.Ticks;
            this.MediaSlider.Maximum = this.SampleMedia.NaturalDuration.TimeSpan.Ticks;
        }

        private void MediaSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)//slider
        {
            this.SampleMedia.Position = new TimeSpan((long)this.MediaSlider.Value); 
        }

我这样只有ProgressBar控件在显示进度,这里Slider控件做成调节进度的功能,但怎样才能使Slider控件与ProgressBar控件一样,能够跟随视频进度自动移动小方块? --------------------编程问答-------------------- 有类似setPos的方法吧,Slider理论上应该继承于ProgressBar,wp的控件都太简陋了,建议直接自绘 --------------------编程问答--------------------
引用楼主  的回复:
C# code

 private void SampleMedia_MediaOpened(object sender, RoutedEventArgs e)//MediaElement
        {
            this.MediaProgress.Maximum = this.SampleMedia.NaturalDuration.TimeSpan.Ticks;
    ……

我使用属性上的value值进行的绑定,可是播放很卡,就是slider移动一点,声音放一点。。。。 --------------------编程问答-------------------- 我现在弄的是 用一个timer控件 每秒都来改变 slider的value  但是 这样 slider的valueChanged 就有冲突 这个问题 不知道怎么解决 求解! --------------------编程问答-------------------- 楼上提到的timer是可以实现的,不过并不冲突啊.因为你改变slider的value和slider的valueChanged时的值是一样的,所以可以的. --------------------编程问答-------------------- 不使用slider的valueChanged。开一个timer定时更新slider的Value,主动拖拽进步条时使用Slider的Thumb.DragStarted 事件和 Thumb.DragCompleted 事件 --------------------编程问答--------------------
引用 3 楼 zhou7895623 的回复:
我现在弄的是 用一个timer控件 每秒都来改变 slider的value  但是 这样 slider的valueChanged 就有冲突 这个问题 不知道怎么解决 求解!

用TIMERTICK把活都干了吧,干嘛还注册valueChanged 事件? --------------------编程问答--------------------
引用 6 楼 BEYONDMA 的回复:
Quote: 引用 3 楼 zhou7895623 的回复:

我现在弄的是 用一个timer控件 每秒都来改变 slider的value  但是 这样 slider的valueChanged 就有冲突 这个问题 不知道怎么解决 求解!

用TIMERTICK把活都干了吧,干嘛还注册valueChanged 事件?
就是
补充:移动开发 ,  Windows Phone
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,