这个问题很多人都应该考虑过 不过我来说说我的解决方法吧!
就用MediaPlayer控件来举例:
前面的问题比较容易解决,就是用一个Timer利用Tick事件去不停的获取正在播放的多媒体文件的当前播放位置 。贴上代码:
然后后面的问题解决方案可能很多人会想到用Slider的ValueChanged事件去写 ,可是 这个拖拽并不是唯一一个触发ValueChanged事件的 ,在播放过程中Slider的Value属性一直在变化,很多人就看到了冲突。
这个问题我是这样解决的 ,其实也是很简单的 ,我们可以用MouseMove事件去写,不过有发现了问题,MouseMove事件也就是说只要你的鼠标放在Slider上就会触发,那只要我们的鼠标移动到了Slider上,就会出现和上面用ValueChanged事件写一样的冲突,所以我们还需要进一步确定 ,你这个拖拽是唯一的,可以控制拖放进度的事件,只需要在MouseMove事件内判断鼠标左键是否按下。贴上代码:
