查看原文
其他

一个基于IJKplayer 的多功能视频播放器

2017-08-28 codeGooler 终端研发部

前言介绍

GSYVideoPlayer-android视频播放器,支持基本的拖动,声音、亮度调节,支持边播边缓存视频播

项目地址:

https://github.com/CarGuo/GSYVideoPlayer

正文

先看一下简单的效果图:

GSYVideoPlayer-android视频播放器,支持基本的拖动,声音、亮度调节,支持边播边缓存

视频播放器(IJKplayer)的有点:

  • HTTPS支持播放

  • 支持弹幕

  • 支持基本的拖动,声音、亮度调节

  • 支持边播边缓存

  • 支持视频本身自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持

  • 支持列表播放,直接添加控件为封面,列表全屏动画,视频加载速度,列表小窗口支持拖动

  • 5.0的过场效果,调整比例,多分辨率切换

  • 支持切换播放器,进度条小窗口预览

  • 其他一些小动画效果,rtsp、concat、mpeg


状态功能
支持边播边缓存,使用了AndroidVideoCache。
支持列表播放;列表连续播放;重力旋转与手动旋转;视频本身rotation旋转属性。
支持全屏切换动画效果;小窗口播放,可拖动。
支持快播和慢播;网络视频加载速度。
支持调整显示比例:默认、16:9、4:3、填充。
支持播放时旋转画面角度(0,90,180,270);镜像旋转。
支持暂停前后台切换不黑屏;调整不同清晰度的支持。
支持Https;IJKPlayer和EXOPlayer切换。
支持锁定/解锁全屏点击功能;进度条小窗口预览(测试)。
支持全屏与非全屏两套布局切换;弹幕功能。
支持其他协议和编码concat、rtsp、crypto、mpeg等。
支持没有任何操作控件的纯播放支持。
待支持自带广告功能(目前需要自己实现)。

列表/详情模式(动画、旋转、小窗体)


JCenter 引入方法(推荐)

A、直接引入

//完整版引入 compile 'com.shuyu:GSYVideoPlayer:2.0.4'

B、添加java和你想要的so支持:

compile 'com.shuyu:gsyVideoPlayer-java:2.0.4' //根据你的需求 compile 'com.shuyu:gsyVideoPlayer-armv5:2.0.4' compile 'com.shuyu:gsyVideoPlayer-armv7a:2.0.4' compile 'com.shuyu:gsyVideoPlayer-arm64:2.0.4' compile 'com.shuyu:gsyVideoPlayer-x64:2.0.4' compile 'com.shuyu:gsyVideoPlayer-x86:2.0.4'

C、支持其他格式协议的(mpeg,rtsp, concat、crypto协议)

    A、B普通版本支持263/264/265等,对于mpeg编码会有声音无画面情况。 C 引入的so支持mpeg编码和其他补充协议,但是so包相对变大。

compile 'com.shuyu:gsyVideoPlayer-java:2.0.4' compile 'com.shuyu:gsyVideoPlayer-ex_so:2.0.4'

D、支持使用ijkPlayer的so

compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.2' compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.2' compile 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.2' compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.2' compile 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.2'

2、JitPack引入方法

First、在project下的build.gradle添加

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

Sencond、在module下的build.gradle添加

你可以选择下面三种的其中一种,在module下的build.gradle添加。

A、直接引入

//完整版引入 compile 'com.github.CarGuo.GSYVideoPlayer:GSYVideoPlayer:v2.0.4'

B、添加java和你想要的so支持:

compile 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-java:v2.0.4' //根据你的需求 compile 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-x64:v2.0.4' compile 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-x86:v2.0.4' compile 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-arm64:v2.0.4' compile 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-armv5:v2.0.4' compile 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-armv7a:v2.0.4'

C、支持其他格式协议的(mpeg,rtsp, concat、crypto协议)

A、B普通版本支持263/264/265等,对于mpeg编码会有声音无画面情况。 C 方法引入的so支持mpeg编码和其他补充协议,但是so包相对变大。

compile 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-java:v2.0.4' compile 'com.github.CarGuo.GSYVideoPlayer:gsyVideoPlayer-ex_so:v2.0.4'

项目地址:

https://github.com/CarGuo/GSYVideoPlayer

终端研发部提倡 没有做不到的,只有想不到的

在这里获得的不仅仅是技术!


让心,在阳光下学会舞蹈

让灵魂,在痛苦中学会微笑

—终端研发部—



如果你觉得此文对您有所帮助,欢迎入群 QQ交流群 :232203809   

微信公众号:终端研发部


            

这里学到不仅仅是技术

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存