哪里有进度条?
在很多媒体播放器里面都有进度条,能指示播放进度。
(封面来自网络)
为什么要进度条?
进度条能指示进度,能让人知道大致位置,给人一种安全感。
以流媒体形式播放媒体的原理
- 点击“播放”,程序把媒体文件加载到内存条
- 把媒体切割分成1秒/段
- 逐个加载画面和声音,就能按顺序播放媒体
- 一边播放一秒媒体一边把“已播时长”加1秒,然后转换成分或小时显示出来
显示进度数值的原理
- 定义四个变量:总时长(秒)、小时、分、秒、已播时长(秒)
- 获取总时长(转换成秒)
- 小时=总时长÷3600(取整)
- 分钟=(总时长-小时*3600)÷60
- 秒=总时长-[(总时长-小时*3600)÷60]
- 显示:小时&“:”&分钟&“:”&秒
可拖动进度条的原理
- 定义变量:点击位置的比例、点击位置的媒体时间(秒)、点击位置的媒体时间(小时)
- 当鼠标左键被点击且指针指向进度条
- 获取鼠标坐标xm值
- 获取进度条左边的x1值
- 获取进度条右边的x2值
- 点击位置比例=xm÷(x2-x1)
- 点击位置的媒体时间(秒)=总时长×点击位置的比例
- 点击位置的媒体时间(小时)=点击位置的媒体时间(秒)÷3600
- 显示:点击位置的媒体时间(小时)(取整)&“:”&“点击位置的媒体时间(小时)(保留小数×60”&“:”&“(点击位置的媒体时间(小时)(保留小数×60)保留小数×60”//小时:分钟:秒
以上为思路,然后就是用代码实现了
如有错误,欢迎指出
侵权就删