登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

iOS音视频自定义进度条带时间跟随

[复制链接]
来自: renshijian 分类: iOS精品源码 上传时间: 2019-4-28 17:40:18
Tag:

项目介绍:

项目介绍:
1.需求概述
根据产品需求需要做进度条上播放时间替换UISlider滑块,因为项目给的工期很短,很多代码能省就省但百度谷歌未果之后决定自己写。
2.基本实现思路:
已知:总播放时间totalT,当前播放时间t
视图总宽度totalW
播放显示时长视图宽度timeW
可计算出 :
播放时间视图移动总距离:totalW - timeW
每个时间单位移动的距离:(totalW - timeW)/totalT moveW
正常播放时:
传入当前播放时间及总时间:t/60 + t%60 totalT/60 + totalT%60 直接显示即可
时间视图位置x值改变:t*moveW
播放结束判断为: t = totalT
移动滑块(显示时间视图):doMoveAction:
获取移动距离 : moveW = newCenter.x - recognizer.view.frame.size.width/2;
获取移动多少时间:
假设:移动距离为10 ,总距离为100,
移动距离占总距离为0.1
总时间为300秒
得出移动后的时间:0.1*300 = 30秒
传入播放器即可
3.主要功能代码
  1. // Figure out where the user is trying to drag the view.CGPointtranslation = [recognizertranslationInView:self];CGPointnewCenter =CGPointMake(recognizer.view.center.x+ translation.x,recognizer.view.center.y+ translation.y);//    限制屏幕范围:newCenter.y=MAX(recognizer.view.frame.size.height/2, recognizer.view.frame.size.width/2);newCenter.y=MIN(self.frame.size.height - recognizer.view.frame.size.height/2, recognizer.view.frame.size.width/2);newCenter.x=MAX(recognizer.view.frame.size.width/2, newCenter.x);newCenter.x=MIN(self.frame.size.width - recognizer.view.frame.size.width/2,newCenter.x);recognizer.view.center= newCenter;[recognizersetTranslation:CGPointZeroinView:self];CGRectgreenRect =self.backGreenView.frame;greenRect.size.width= newCenter.x;self.backGreenView.frame= greenRect;CGFloattotalW =self.tempFrame.size.width-self.playTimeW;CGFloatmoveW = newCenter.x- recognizer.view.frame.size.width/2;intmoveX = moveW/totalW*self.totalLength;if([self.delegaterespondsToSelector:@selector(changePlayTimeByPublicAudioPlayProgressView:)]) {[self.delegate changePlayTimeByPublicAudioPlayProgressView:moveX];}
复制代码

PS:历时四个小时完成这个功能。时间比较仓促,希望大神们多多提提意见。写的不好的地方大神们多担待多指教。
完整的项目叫花生儿歌,楼主独立架构开发上线,全代码编写。项目实行模块化,所有数据均由后台提供,完全可配置。除视频播放,登录注册外(之前项目写好的直接用)。9107状态下一个半月完成了整体项目,然而超出计划15天,遭到了产品极度不满及需求封杀。也希望您给出您的工期计划标明(初,中,高)级,帮楼主借鉴,弥补楼主的不足,我们可以相互帮助。



相关源码推荐:

我来说两句
*滑动验证:
所有评论(5)
无限释囚 2019-4-29 09:58:03
帮帮顶顶!!
回复
这是个逗比 2019-4-29 09:58:14
code4app好的代码demo真的很多,谢谢啦~
回复
Wsdtg 2019-4-29 09:58:16
code4app确实是个好地方,必须支持~
回复
天天bug 2019-4-29 09:58:29
code4app好的内容真的很多~赞
回复
inta加加 2019-4-29 09:59:11
相当不错,感谢无私分享精神!
回复
t8569 2019-4-29 09:59:54
好好 学习了 确实不错
回复
code4app热心网友 2019-4-29 17:20:12
淡定,淡定,淡定……
回复
一个有温度的API 2019-4-30 08:57:00
虽不明,但觉厉!
回复
gypgyp 2019-5-1 10:19:05
很给力,Code4App有你更精彩!
回复
提取码:  下载次数:15 状态:已购或VIP 售价:0(原价:15)金钱 下载权限:初级码农 
280 1 15
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 广东互联网违法和不良信息举报中心|中国互联网举报中心|Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表