前言
各位观众姥爷是否觉得一个好的播放器仅仅只能平滑拖动进度是不理想化的,我个人觉得百分比拖动功能应该是这样子的:先慢后快,啥意思呢?当我们小幅拖动时是对进度精细化调整,可能就是想看几秒前晃神、眨眼、刻骨铭心的画面,仅需要秒级的拖动,但是当大幅拖动时是对这一段不感兴趣或者直接想跳到片尾,这时候涉及进度的调整往往直接冲向100%,有什么算法可以做到呢?
算法
明人不说暗话,有几个基础变量
- 获取视频控件的宽度,记作viewWidth
- 获取在视频控件拖动的距离,记作moveWidth
基础变量定义完成后就是算法:
val moveProgress = ((moveWidth / viewWidth) * 100f) * (moveWidth / viewWidth)
完结
通过以上算法可以达到小幅推动进度偏小,大幅拖动进度偏大的效果哦
最后我还有一句话要说:
不要在在意的事情上投入不切实际的期望和附着不着边际的价值
因为人生唯一能确定的是不确定的人生,人生唯一恐惧的是恐惧本身