欢迎光临
我们一直在努力

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

建站超值云服务器,限时71元/月

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

项目介绍:

项目介绍: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天,遭到了产品极度不满及需求封杀。也希望您给出您的工期计划标明(初,中,高)级,帮楼主借鉴,弥补楼主的不足,我们可以相互帮助。GitHub下载Demo

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » iOS音视频自定义进度条带时间跟随
分享到: 更多 (0)