基于IJKPlayer,实现了多功能的视频播放器。
- 支持基本的拖动,声音、亮度调节。
- 支持边播边缓存,使用了AndroidVideoCache。
- 支持视频本身自带rotation的旋转。
- 增加了重力旋转与手动旋转的同步支持。
- 支持列表播放。
- 直接添加控件为封面。
- 全屏和播放等的动画效果。
- 列表的全屏效果优化,多种配置模式。
- 列表的小窗口播放,可拖动。
- 网络视频加载速度。
- 锁定/解锁全屏点击功能。
- 支持快播和慢播。
- 调整显示比例:默认、16:9、4:3。
- 调整不同清晰度的支持。
- 支持IJKPlayer和EXOPlayer切换。
- 进度条小窗口预览(测试)。
- Https支持。
- 连续播放一个列表的视频。
- 支持全屏与非全屏两套布局切换
- 弹幕支持
compile 'com.shuyu:GSYVideoPlayer:1.6.1'
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
compile 'com.github.CarGuo:GSYVideoPlayer:v1.6.1'
}
- setSpeed接口修改为支持播放中设置
- 内存优化
- update ijk to 0.7.8.1
- 增加超时接口 GSYVideoManager
/**
* 是否需要在buffer缓冲时,增加外部超时判断
*
* 超时后会走onError接口,播放器通过onPlayError回调出
*
* 错误码为 : BUFFER_TIME_OUT_ERROR = -192
*
* 由于onError之后执行GSYVideoPlayer的OnError,如果不想触发错误,
* 可以重载onError,在super之前拦截处理。
*
* public void onError(int what, int extra){
* do you want before super and return;
* super.onError(what, extra)
* }
*
* @param timeOut 超时时间,毫秒 默认8000
* @param needTimeOutOther 是否需要延时设置,默认关闭
*/
public void setTimeOut(int timeOut, boolean needTimeOutOther) {
this.timeOut = timeOut;
this.needTimeOutOther = needTimeOutOther;
}
更多版本请查阅:版本更新说明
-keep class tv.danmaku.ijk.** { *; }
-dontwarn tv.danmaku.ijk.**
-keep class com.shuyu.gsyvideoplayer.** { *; }
-dontwarn com.shuyu.gsyvideoplayer.**
请参看IJKPlayer和AndroidVideoCache相关协议。