首页 > 抖音快手 > 封装bilibili播放器 仿抖音视频播放效果
2020
05-31

封装bilibili播放器 仿抖音视频播放效果

  4.全局使用一个播放器, 实现视频在多个Activity之前无缝切换, 流畅播放

  首先将lib文件夹下的so库粘贴过来, (因为官方自带的so库是不支持https的, 我重新编译的这个so库支持https协议,

  并且使用的是精简版的配置, 网上关于ijkplay编译的流程和配置挺多的, 可以根据自己的需求自定义)

  1.我封装了一个MediaPlayerTool工具类包含的初始化so库和一些回调等等

  //这里会自动初始化so库 有些手机会找不到so, 会自动使用系统的播放器

  2.因为我使用的是RecyclerView,所以先找到当前屏幕中 处于可以播放范围的item

  //这里会自动初始化so库 有些手机会找不到so, 会自动使用系统的播放器

  //开始播放时, 播放器会调用一下getSize()来初始化视频大小, 这时我们就要初始化一条视频播放流

  比如一个视频长度100, 播放器首先读取视频的1到10之间的数据, 然后在读取90到100之间的数据, 然后在从1播放到100;

  所以这时我们需要同步视频流, 和播放进度保持一致这时就需要重新开启一个IO流(如果在读取本地缓存时可以直接使用RandomAccessFile.seek()方法跳转)

  //检查本地是否有缓存, 2步确认, 数据库中是否存在, 本地文件是否存在

  至此代码讲解完毕, 亲测在4g网络下视频初始化速度毫秒级, 并且在低性能手机下, 页面来回切换无卡顿.

  大家如果有不解, 可以查看源码了解更多, 有bug或优化思路 也可以提issues


本文》有 0 条评论

留下一个回复