lizongjing520/GSYVideoPlayer


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

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    

Step 2. Add the dependency

	dependencies {
		implementation 'com.github.lizongjing520:GSYVideoPlayer:v1.6.8'
	}
	dependencies {
		implementation("com.github.lizongjing520:GSYVideoPlayer:v1.6.8")
	}
	<dependency>
	    <groupId>com.github.lizongjing520</groupId>
	    <artifactId>GSYVideoPlayer</artifactId>
	    <version>v1.6.8</version>
	</dependency>

                            
    libraryDependencies += "com.github.lizongjing520" % "GSYVideoPlayer" % "v1.6.8"
        
        

                            
    :dependencies [[com.github.lizongjing520/GSYVideoPlayer "v1.6.8"]]
        
        

Readme


基于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.6'


2、JitPack引入方法

在project下的build.gradle添加

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

在module下的build.gradle添加

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

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

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

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


文档Wiki

--- 使用说明、接口文档 - 入口

其他

--- 版本更新说明 - 入口

--- 问题集锦 - 入口

--- IJKPlayer问题 - 入口 

--- IJKPlayer编译自定义SO - 入口 

--- 简书详解 - 入口

 

运行效果

  • 1、打开一个播放

    <img src="https://github.com/CarGuo/GSYVideoPlayer/blob/master/01.gif" width="240px" height="426px"/>
  • 2、列表/详情模式

<div> <img src="https://github.com/CarGuo/GSYVideoPlayer/blob/master/02.gif" width="240px" height="426px"/> <img src="https://github.com/CarGuo/GSYVideoPlayer/blob/master/05.gif" width="240px" height="426px"/> <img src="https://github.com/CarGuo/GSYVideoPlayer/blob/master/04.gif" width="240px" height="426px"/> </div>
  • 3、弹幕

    <img src="https://github.com/CarGuo/GSYVideoPlayer/blob/master/09.gif" width="360px" height="240px"/>
  • 4、进度条小窗口预览

    <img src="https://github.com/CarGuo/GSYVideoPlayer/blob/master/07.gif" width="426px" height="240px"/>

近期版本

1.6.6(2017-05-24)

  • update ijkplayer to 0.8.0
  • update videocache to 2.7.0

1.6.5(2017-05-05)

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

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

混淆

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

依赖大小参考

建议使用ndk过滤,详细参考 参考第四条 : 4、NDK的so支持

License

请参看IJKPlayer和AndroidVideoCache相关协议。