基于IJKPlayer,实现了多功能的视频播放器。 (请仔细阅读下方各项说明,大多数问题可在下方找到解答)。
- 支持基本的拖动,声音、亮度调节。
- 支持边播边缓存,使用了AndroidVideoCache。
- 支持视频本身自带rotation的旋转。
- 增加了重力旋转与手动旋转的同步支持。
- 支持列表播放。
- 直接添加控件为封面。
- 全屏和播放等的动画效果。
- 列表的全屏效果优化,多种配置模式。
- 列表的小窗口播放,可拖动。
- 网络视频加载速度。
- 锁定/解锁全屏点击功能。
- 支持快播和慢播。
- 调整显示比例:默认、16:9、4:3。
- 暂停时前后台切换不黑屏
- 调整不同清晰度的支持。
- 支持IJKPlayer和EXOPlayer切换。
- 进度条小窗口预览(测试)。
- Https支持。
- 支持播放时旋转画面角度(0,90,180,270)。
- 连续播放一个列表的视频。
- 支持全屏与非全屏两套布局切换
- 弹幕支持
- 镜像旋转
compile 'com.shuyu:GSYVideoPlayer:1.6.8'
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
compile 'com.github.CarGuo:GSYVideoPlayer:v1.6.8'
}
- fix listVideoUtils title错乱问题
- fix setSpeed无法重置的问题
- fix 切换网络无法继续播放问题
- 增加旋转使能后是否跟随系统设置
/**
* 是否跟随系统旋转,false的话,系统禁止旋转也会跟着旋转
* @param rotateWithSystem 默认true
*/
public void setRotateWithSystem(boolean rotateWithSystem)
- fix bug #265,全屏按返回按键之后的虚拟按键显示问题
- so编译配置增加protocol crypto
- 增加设置触摸显示控制ui的消失时间接口
StandardGSYVideoPlayer.java
/**
* 设置触摸显示控制ui的消失时间
* @param dismissControlTime 毫秒,默认2500
*/
public void setDismissControlTime(int dismissControlTime)
- 调整触摸滑动快进的比例
/**
* 调整触摸滑动快进的比例
* @param seekRatio 滑动快进的比例,默认1。数值越大,滑动的产生的seek越小
*/
public void setSeekRatio(float seekRatio)
- 增加了拉伸填充的配置
GSYVideoType.java
//全屏拉伸显示,使用这个属性时,surface_container建议使用FrameLayout
public final static int SCREEN_MATCH_FULL = -4;
更多版本请查阅:版本更新说明
-keep class tv.danmaku.ijk.** { *; }
-dontwarn tv.danmaku.ijk.**
-keep class com.shuyu.gsyvideoplayer.** { *; }
-dontwarn com.shuyu.gsyvideoplayer.**
建议使用ndk过滤,详细参考 参考第四条 : 4、NDK的so支持
请参看IJKPlayer和AndroidVideoCache相关协议。
项目最开始是从jiecao过来的,只是后来方向不同,所以慢慢的也异化了。