![](./img/home_logo.png)
## 支持 [IJKPlayer](https://github.com/Bilibili/ijkplayer)、 Media3(EXOPlayer2)、MediaPlayer、AliPlayer,实现了多功能的视频播放器。 (请仔细阅读下方各项说明,大多数问题可在下方找到解答)。
> ## [如果克隆太慢或者图片看不到,可尝试从码云地址下载](https://gitee.com/CarGuo/GSYVideoPlayer)
类型 | 功能
-------- | ---
**缓存**|**边播边缓存,使用了[AndroidVideoCache](https://github.com/danikula/AndroidVideoCache);Media3(ExoPlayer)使用SimpleCache。**
**协议**|**h263\4\5、Https、concat、rtsp、hls、rtmp、crypto、mpeg等等。[(ijk模式格式支持)](https://github.com/CarGuo/GSYVideoPlayer/blob/master/doc/DECODERS.md)**
**滤镜**|**简单滤镜(马赛克、黑白、色彩过滤、高斯、模糊、模糊等等20多种)、动画、(水印、画面多重播放等)。**
**帧图**|**视频第一帧、视频帧截图功能,视频生成gif功能。**
**播放**|**列表播放、列表连续播放、重力旋转与手动旋转、视频本身rotation旋转属性、快播和慢播、网络视频加载速度。**
**画面**|**调整显示比例:默认、16:9、4:3、填充;播放时旋转画面角度(0,90,180,270);镜像旋转。**
**内核**|**IJKPlayer、Media3(EXOPlayer)、MediaPlayer、AliPlayer切换、自定义内核**
**布局**|**全屏与非全屏两套布局切换、没有任何操作控件的纯播放支持、弹幕功能、继承自定义任何布局。**
**播放**|**单例播放、多个同时播放、视频列表滑动自动播放、列表切换详情页面无缝播放。**
**窗口**|**小窗口、多窗体下(包括桌面)的小窗口播放。**
**广告**|**片头广告、跳过广告支持、中间插入广告功能。**
**字幕**|**[media3(exo2)模式下支持自定增加外挂字幕](https://github.com/CarGuo/GSYVideoPlayer/tree/master/app/src/main/java/com/example/gsyvideoplayer/exosubtitle)。**
**dash**|**media3(exo2) 模式支持dash**
**stream**|**支持元数据播放**
**更多**|**暂停前后台切换不黑屏;调整不同清晰度的支持;无缝切换支持;锁定/解锁全屏点击功能;进度条小窗口预览(测试)。**
**自定义**|**可自定义渲染层、自定义管理层、自定义播放层(控制层)、自定义缓存层。**
[![](https://jitpack.io/v/CarGuo/GSYVideoPlayer.svg)](https://jitpack.io/#CarGuo/GSYVideoPlayer)
[![Build Status](https://app.travis-ci.com/CarGuo/GSYVideoPlayer.svg?branch=master)](https://app.travis-ci.com/CarGuo/GSYVideoPlayer)
[![Github Actions](https://github.com/CarGuo/GSYVideoPlayer/workflows/CI/badge.svg)](https://github.com/CarGuo/GSYVideoPlayer/actions)
[]()
[![GitHub stars](https://img.shields.io/github/stars/CarGuo/GSYVideoPlayer.svg)](https://github.com/CarGuo/GSYVideoPlayer/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/CarGuo/GSYVideoPlayer.svg)](https://github.com/CarGuo/GSYVideoPlayer/network)
[![GitHub issues](https://img.shields.io/github/issues/CarGuo/GSYVideoPlayer.svg)](https://github.com/CarGuo/GSYVideoPlayer/issues)
[![GitHub license](https://img.shields.io/github/license/CarGuo/GSYVideoPlayer.svg)](https://github.com/CarGuo/GSYVideoPlayer/blob/master/LICENSE)
| 公众号 | 掘金 | 知乎 | CSDN | 简书
|---------|---------|--------- |---------|---------|
| GSYTech | [点我](https://juejin.im/user/582aca2ba22b9d006b59ae68/posts) | [点我](https://www.zhihu.com/people/carguo) | [点我](https://blog.csdn.net/ZuoYueLiang) | [点我](https://www.jianshu.com/u/6e613846e1ea)
![](http://img.cdn.guoshuyu.cn/WeChat-Code)
### [--------------Demo APK 下载地址---------------](https://github.com/CarGuo/GSYVideoPlayer/releases)
## 一、使用依赖
#### [--- 版本更新说明 --- ](https://github.com/CarGuo/GSYVideoPlayer/blob/master/doc/UPDATE_VERSION.md)。
### 1、Jitpack 引入方法(推荐, JCenter 即将关闭)
#### First、在project下的build.gradle添加
```
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
maven { url "https://maven.aliyun.com/repository/public" }
}
}
```
**你可以选择下面三种的其中一种,在module下的build.gradle添加。**
#### A、直接引入
```
//完整版引入
implementation 'com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer:v8.4.0-release-jitpack'
//是否需要AliPlayer模式
implementation 'com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer-aliplay:v8.4.0-release-jitpack'
```
#### B、添加java和你想要的so支持:
```
implementation 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-java:v8.4.0-release-jitpack'
//是否需要ExoPlayer模式
implementation 'com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer-exo2:v8.4.0-release-jitpack'
//是否需要AliPlayer模式
implementation 'com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer-aliplay:v8.4.0-release-jitpack'
//根据你的需求ijk模式的so
implementation 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-arm64:v8.4.0-release-jitpack'
implementation 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-armv7a:v8.4.0-release-jitpack'
implementation 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-armv5:v8.4.0-release-jitpack'
implementation 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-x86:v8.4.0-release-jitpack'
implementation 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-x64:v8.4.0-release-jitpack'
```
#### C、支持其他格式协议的(mpeg,rtsp, concat、crypto协议)
A、B普通版本支持263/264/265等,对于mpeg编码会有声音无画面情况。
C 引入的so支持mpeg编码和其他补充协议,但是so包相对变大。
```
implementation 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-java:v8.4.0-release-jitpack'
//是否需要ExoPlayer模式
implementation 'com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer-exo2:v8.4.0-release-jitpack'
//是否需要AliPlayer模式
implementation 'com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer-aliplay:v8.4.0-release-jitpack'
//更多ijk的编码支持
implementation 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-ex_so:v8.4.0-release-jitpack'
```
#### 代码中的全局切换支持(更多请参看下方文档和demo)
```
//EXOPlayer内核,支持格式更多
PlayerFactory.setPlayManager(Exo2PlayerManager.class);
//系统内核模式
PlayerFactory.setPlayManager(SystemPlayerManager.class);
//ijk内核,默认模式
PlayerFactory.setPlayManager(IjkPlayerManager.class);
//aliplay 内核,默认模式
PlayerFactory.setPlayManager(AliPlayerManager.class);
//exo缓存模式,支持m3u8,只支持exo
CacheFactory.setCacheManager(ExoPlayerCacheManager.class);
//代理缓存模式,支持所有模式,不支持m3u8等,默认
CacheFactory.setCacheManager(ProxyCacheManager.class);
//切换渲染模式
GSYVideoType.setShowType(GSYVideoType.SCREEN_MATCH_FULL);
//默认显示比例
GSYVideoType.SCREEN_TYPE_DEFAULT = 0;
//16:9
GSYVideoType.SCREEN_TYPE_16_9 = 1;
//4:3
GSYVideoType.SCREEN_TYPE_4_3 = 2;
//全屏裁减显示,为了显示正常 CoverImageView 建议使用FrameLayout作为父布局
GSYVideoType.SCREEN_TYPE_FULL = 4;
//全屏拉伸显示,使用这个属性时,surface_container建议使用FrameLayout
GSYVideoType.SCREEN_MATCH_FULL = -4;
/***
* SCREEN_TYPE_CUSTOM 下自定义显示比例
* @param screenScaleRatio 高宽比,如 16:9
*/
public static void setScreenScaleRatio(float screenScaleRatio)
//切换绘制模式
GSYVideoType.setRenderType(GSYVideoType.SUFRACE);
GSYVideoType.setRenderType(GSYVideoType.GLSURFACE);
GSYVideoType.setRenderType(GSYVideoType.TEXTURE);
//ijk关闭log
IjkPlayerManager.setLogLevel(IjkMediaPlayer.IJK_LOG_SILENT);
//exoplayer自定义MediaSource
ExoSourceManager.setExoMediaSourceInterceptListener(new ExoMediaSourceInterceptListener() {
@Override
public MediaSource getMediaSource(String dataSource, boolean preview, boolean cacheEnable, bo
没有合适的资源?快使用搜索试试~ 我知道了~
支持 [IJKPlayer](https://github.com/Bilibili/ijkplayer)、 Media3(EX
共533个文件
java:268个
xml:120个
so:30个
需积分: 5 1 下载量 12 浏览量
2023-08-18
15:52:24
上传
评论
收藏 78.39MB ZIP 举报
温馨提示
支持 [IJKPlayer](https://github.com/Bilibili/ijkplayer)、 Media3(EXOPlayer2)、MediaPlayer、AliPlayer,实现了多功能的视频播放器
资源推荐
资源详情
资源评论
收起资源包目录
支持 [IJKPlayer](https://github.com/Bilibili/ijkplayer)、 Media3(EX (533个子文件)
gradlew.bat 3KB
.editorconfig 205B
22.gif 2.91MB
55.gif 1.84MB
11.gif 1.68MB
44.gif 1.6MB
07.gif 1.19MB
33.gif 1.13MB
09.gif 480KB
.gitattributes 52B
.gitignore 5KB
.gitignore 6B
dependencies.gradle 3KB
exported.gradle 3KB
build.gradle 3KB
checkexported.gradle 3KB
publish.gradle 1KB
build.gradle 1KB
base.gradle 509B
build.gradle 469B
build.gradle 380B
settings.gradle 370B
build.gradle 296B
build.gradle 239B
build.gradle 230B
build.gradle 187B
lib.gradle 169B
build.gradle 147B
build.gradle 147B
build.gradle 147B
build.gradle 146B
build.gradle 146B
build.gradle 144B
gradlew 8KB
gradle-wrapper.jar 58KB
GSYVideoControlView.java 45KB
AnimatedGifEncoder.java 38KB
GSYBaseVideoPlayer.java 38KB
GSYDefaultHttpDataSource.java 37KB
GSYVideoView.java 33KB
StandardGSYVideoPlayer.java 33KB
DetailPlayer.java 31KB
GSYVideoHelper.java 23KB
SmallVideoHelper.java 23KB
GSYVideoBaseManager.java 21KB
DetailFilterActivity.java 20KB
GSYVideoOptionBuilder.java 20KB
IjkExo2MediaPlayer.java 20KB
ListVideoUtil.java 19KB
ExoSourceManager.java 18KB
EventLogger.java 17KB
AliMediaPlayer.java 17KB
HttpProxyCacheServer.java 16KB
ENDownloadView.java 15KB
DanmakuVideoPlayer.java 15KB
JumpUtils.java 14KB
OrientationUtils.java 13KB
DetailDownloadExoPlayer.java 13KB
DetailControlActivity.java 13KB
GSYExo2PlayerView.java 12KB
ListADVideoActivity2.java 12KB
GSYVideoGLView.java 12KB
ListNormalAdapter.java 12KB
BiliDanmukuParser.java 12KB
SampleVideo.java 12KB
ListADVideoActivity.java 12KB
GSYSampleADVideoPlayer.java 12KB
MeasureHelper.java 11KB
CommonUtil.java 11KB
TvVideoPlayer.java 11KB
ScrollingActivity.java 11KB
IjkPlayerManager.java 11KB
MainActivity.java 11KB
SmartPickVideo.java 11KB
HttpUrlSource.java 10KB
DetailDownloadPlayer.java 10KB
DetailMoreTypeActivity.java 9KB
GSYVideoGLViewSimpleRender.java 9KB
ProxyCacheManager.java 9KB
GSYExoSubTitleDetailPlayer.java 9KB
GSYTextureView.java 9KB
MediaCodecTextureView.java 9KB
AudioDetailPlayer.java 9KB
InputUrlDetailActivity.java 9KB
IFloatWindowImpl.java 9KB
GSYSurfaceView.java 8KB
GSYBaseADActivityDetail.java 8KB
DetailNormalActivityPlayer.java 8KB
SampleControlVideo.java 8KB
SampleCoverVideo.java 8KB
ENPlayView.java 8KB
NetworkUtils.java 8KB
GSYExoSubTitlePlayerManager.java 8KB
GSYVideoGLViewBaseRender.java 8KB
DanmkuVideoActivity.java 8KB
GSYVideoGLViewCustomRender.java 8KB
GSYBaseActivityDetail.java 7KB
GSYRenderView.java 7KB
Exo2PlayerManager.java 7KB
ListGSYVideoPlayer.java 7KB
共 533 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
hello_中年人
- 粉丝: 7
- 资源: 324
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功