因为要学习使用当前流行的视频播放库,下面介绍当前比较流行的四款视频播放库。(文章末有一些优秀的播放库)
- gsyvideoplayer
- ijkPlayer
- ExoPlayer
- jiaoziVideoPlayer
注:
1、所有均需要添加网络权限。
2、所有均需要在MainActivity里添加属性
android:configChanges="orientation|screenSize|keyboardHidden"
android:screenOrientation="portrait"
1、gsyvideoplayer
CarGuo/11.5k,基于ijkPlayer,视频加载速度比ijk、exo慢
(作者在github尾部直言:仿照的jiecao,但现在几乎重构了整个项目)
封装的功能较为齐全
- 边缓存边播放(使用AndroidVideoCache进行缓存,可代码设置不缓存)
- 界面左右滑动快退快进
- 上下滑动 增加亮度/音量
- 双击 播放/暂停
(存在的问题:暂停后,再点击播放,视频播放到缓存位置后停止加载。)
2、ijkPlayer
bilibili/24.2k,基于FFmpeg ,纯播放器(功能需自己进行封装,如gsyvideoplayer)。视频加载速度最快
(备注:0.8.8版本要求版本最低为21)
3、ExoPlayer
google/13.8k,谷歌官方退出的视频播放库,视频加载速度快
自带的功能:播放、暂停、快进、快退按钮;时间进度条
4、jiaoziVideoPlayer
lipangit/9.5k,即jiecao。作者直言:项目本质是基于MediaPlayer播放管理和UI控制。(MediaPlayer在实际项目中可能会遇到卡顿的问题)
一些优秀的库
-
PlayerBase
jiajunhui/2.3k
专注于播放视图组件的高复用性和组件间的低耦合,轻松处理复杂业务。(悬浮播放是亮点) -
ExoVideoView
JarvanMo/185
基于ExoPlayer开发的视频播放库,他可以:1.自动处理音频焦点。 2.根据传感器自动处理方向。 3.手势支持。 4.多清晰度选择支持。 5.为控制器添加自定义布局. 6.调整显示大小。 7.自定义controller。 8.支持调整控件的可见性。