android 短视漏音播放优化 漏音优化 流畅度优化

背景:

目前移动端比较火爆的项目是视频了。流量大的专业短视频平台:快手、抖音、火山、腾讯、皮皮虾(原:内涵段子),还有就是电商平台现在的直播间和短视频关联商品。这些平台都是以短视频未基础的,在短视频的基础上,衍生出直播间和购物车、商店之类的分支。这些评审的估值也非常吓人,只要上市都能轻松实现财富自由。但是财务自由的前提是平台能够有好的体验和素材。

常见的短视频APP布局:瀑布式、列表式、上下单个滑动

瀑布式:又常见的比如快手的,两列,根据当前获取到的焦点进行item的静音播放

列表式:常见的有皮皮虾,是滑动到哪一个就播放哪一个。

单个上下滑动:抖音模式,还有电商直播间。

 

问题:

短视频最主要的就是播放。涉及到流量、起播速度、以及播放的流畅度

流量:目前来说一个短视频正常都在20M左右,大一些的高清拍摄在100M左右,但是平台都会压缩,降低原本大小,

起播速度:这个就非常直观,如果划到一个视频,这个视频还一直在加载中,这样的体验直接会影响到用户体验。

流畅度:又叫拉流。播放过程不停卡顿、拉流、断流。直观就是缓冲、卡顿之类的。

漏音:在退到后台或者跳转到非视频播放画面,视频一直在播放。这样场景非常多,给比较容易出现,给人感觉非常不友好(比如:抖音,你看视频,突然你的闹钟响起,你点击闹钟跳转出去,这个时候他的视频一直在后台播放(IOS端毕现))

优化:

1.起播:起播至少支持预加载,第一个视频先播,后面的视频可以预加载一些,这样在滑动到后面就的时候,起播就比较流畅

2.流畅度:这个一般和视频的压制、网络、手机的软硬件综合,但是在检查到wif可以自动切到高清路线,4G或者流量分析到弱网,可以再次降低清晰度

3.预加载:通过下载方式,对即将播放的视频进行一个预加载,这样起播的时候,已有预加载流存在。

核心优化:体验流畅和漏音。

体验流畅:

      1起播的流畅度:如果页面多层嵌套,比如fragmentA嵌套一个Viewpage,ViewPage里又嵌套一个fragmentB,fragmentB的viewPage又嵌套一个,最后的视频详情在单个fragmentB的viewpage 中的fragmentC中。

针对多种嵌套,需要注意  setUserVisibleHint(boolean flag),该方法在多嵌套会出现其他fragment的模块被拦截,将不会执行该方法。

1.我们正常的播放一般提供单独的播放方法,

播放可以再setUserVisibleHint方法中执行,需要特别注明,如果该方法不执行,将不要执意在这里播放和恢复播放。在viewPage的滑动监听处理。

2。针对多嵌套,多个播放列表,需要额外注意。可以在viewPage的回调进行监听和出发

 

漏音:

是指在非正常状态下,依然播放,或者恢复播放。

常见:1.跳转到其他页面短视频依旧在播放

        2.切到后台依旧在播放

       

       

解决:1.起播的时候进行检查,检查当前栈顶的Activity是否是播放器的承载页,或者检查当前fragment的父类是否是栈顶

       2.前后台切换,恢复播放和检查播放,需要接收到切换通知,如何处理通知,请参考:Android切前后台通知。恢复播放,依旧要对栈顶进行检查,对当前持有的fragment是否是选中状态进行检查

3.起播失败导致恢复播放无法恢复:我们可以通过流的回调来判断,常见的就是第一帧回调,有流画面回调即可。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值