可拖动的进度条_可以自由拖动的进度条的是什么原理?

dd1c72df78fc773aa435d9af5f65def4.png

哪里有进度条?

在很多媒体播放器里面都有进度条,能指示播放进度。

(封面来自网络)

为什么要进度条?

进度条能指示进度,能让人知道大致位置,给人一种安全感。

以流媒体形式播放媒体的原理

  1. 点击“播放”,程序把媒体文件加载到内存条
  2. 把媒体切割分成1秒/段
  3. 逐个加载画面和声音,就能按顺序播放媒体
  4. 一边播放一秒媒体一边把“已播时长”加1秒,然后转换成分或小时显示出来

显示进度数值的原理

  1. 定义四个变量:总时长(秒)、小时、分、秒、已播时长(秒)
  2. 获取总时长(转换成秒)
  3. 小时=总时长÷3600(取整)
  4. 分钟=(总时长-小时*3600)÷60
  5. 秒=总时长-[(总时长-小时*3600)÷60]
  6. 显示:小时&“:”&分钟&“:”&秒

可拖动进度条的原理

  1. 定义变量:点击位置的比例、点击位置的媒体时间(秒)、点击位置的媒体时间(小时)
  2. 当鼠标左键被点击且指针指向进度条
  3. 获取鼠标坐标xm值
  4. 获取进度条左边的x1值
  5. 获取进度条右边的x2值
  6. 点击位置比例=xm÷(x2-x1)
  7. 点击位置的媒体时间(秒)=总时长×点击位置的比例
  8. 点击位置的媒体时间(小时)=点击位置的媒体时间(秒)÷3600
  9. 显示:点击位置的媒体时间(小时)(取整)&“:”&“点击位置的媒体时间(小时)(保留小数×60”&“:”&“(点击位置的媒体时间(小时)(保留小数×60)保留小数×60”//小时:分钟:秒

以上为思路,然后就是用代码实现了


如有错误,欢迎指出

侵权就删

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值