/GSYVideoPlayer

视频播放器(IJKplayer),HTTPS支持,支持弹幕,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频本身自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,直接添加控件为封面,列表全屏动画,视频加载速度,列表小窗口支持拖动,5.0的过场效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,其他一些小动画效果。简书:

Primary LanguageJava

基于IJKPlayer,实现了多功能的视频播放器。

  • 支持基本的拖动,声音、亮度调节。
  • 支持边播边缓存,使用了AndroidVideoCache
  • 支持视频本身自带rotation的旋转。
  • 增加了重力旋转与手动旋转的同步支持。
  • 支持列表播放。
  • 直接添加控件为封面。
  • 全屏和播放等的动画效果。
  • 列表的全屏效果优化,多种配置模式。
  • 列表的小窗口播放,可拖动。
  • 网络视频加载速度。
  • 锁定/解锁全屏点击功能。
  • 支持快播和慢播。
  • 调整显示比例:默认、16:9、4:3。
  • 暂停时前后台切换不黑屏
  • 调整不同清晰度的支持。
  • 支持IJKPlayer和EXOPlayer切换。
  • 进度条小窗口预览(测试)。
  • Https支持。
  • 支持播放时旋转画面角度(0,90,180,270)。
  • 连续播放一个列表的视频。
  • 支持全屏与非全屏两套布局切换
  • 弹幕支持
  • 镜像旋转

Download Build Status

使用依赖(支持jcenter和jitpack)

1、JCenter 引入方法

直接在module下的build.gradle添加

compile 'com.shuyu:GSYVideoPlayer:1.6.5'


2、JitPack引入方法

在project下的build.gradle添加

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

在module下的build.gradle添加

dependencies {
        compile 'com.github.CarGuo:GSYVideoPlayer:v1.6.5'
}

  • 下方文档以及问题集锦,你想要知道的大部分都在里面。

  • !!有问题请先下面问题集锦中查阅(如依赖不成功,播放不成功等等)!!

  • QQ群,有兴趣的可以进来,无底线欢迎:174815284 。


文档Wiki

其他

运行效果

  • 1、打开一个播放

  • 2、列表/详情模式

  • 3、弹幕

  • 4、进度条小窗口预览

近期版本

1.6.5(2017-05-05)

  • 增加镜像旋转demo SampleVideo
  • 修改了循环播放的UI问题
  • 修改了本地文件或者已缓存文件,显示进度问题
  • 修复了横竖屏的问题
  • GSYVideoType增加SCREEN_TYPE_FULL类型,通过按照比例裁减放大视频,达到全屏
  • 增加setShowPauseCover接口
/**
 * 是否需要加载显示暂停的cover图片
 * 打开状态下,暂停退到后台,再回到前台不会显示黑屏,但可以对某些机型有概率出现OOM
 * 关闭情况下,暂停退到后台,再回到前台显示黑屏
 *
 * @param showPauseCover 默认true
 */
public void setShowPauseCover(boolean showPauseCover)

1.6.4(2017-04-20)

  • update ijk to 0.7.9 (增加了soundTouch,调速后声音变调问题得到解决)
  • 修复了可能出现的判空问题,修复了ListGSYVideoPlayer的同步问题
  • 修复了可移动小窗口播放结束无法移动的问题

更多版本请查阅:版本更新说明

混淆

-keep class tv.danmaku.ijk.** { *; }
-dontwarn tv.danmaku.ijk.**
-keep class com.shuyu.gsyvideoplayer.** { *; }
-dontwarn com.shuyu.gsyvideoplayer.**

License

请参看IJKPlayer和AndroidVideoCache相关协议。