# iPlayer
**Repository Path**: lasereset/iPlayer
## Basic Information
- **Project Name**: iPlayer
- **Description**: 支持IJKPlayer、ExoPlayer、MediaPlayer和其它更多解码器切换、支持静音、镜像、渲染模式、倍速设置等功能的轻便级播放器,支持自定义解码器、控制器、UI交互组件和悬浮窗播放能力等
- **Primary Language**: Android
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 64
- **Created**: 2023-02-10
- **Last Updated**: 2023-02-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# **iPlayer**
#### 一、SDK基础功能
* 支持网络地址、直播流、本地Assets和Raw音视频资源文件播放
* 支持播放倍速、缩放模式、静音、镜像等功能设置
* 支持自定义视频解码器、控制器、UI交互组件、视频画面渲染器
* 支持多播放器同时播放
* SDK默认控制器(局部UI交互可自定义)支持手势控制、付费试看等交互
* 支持重力感应横竖屏旋转及开关设置
* 支持任意位置启动Activity级别悬浮窗口播放
* 支持任意位置启动全局悬浮窗口播放
* 窗口播放器支持自动吸附悬停
* 支持任意位置直接启动全屏播放
* 支持连续播放视频列表
* Demo:列表或组件之间无缝转场播放
* Demo:全局悬浮窗播放转场跳转Activity
* Demo:MediaPlayer、IjkPlayer、ExoPlayer三种解码器切换
* Demo:仿抖音,支持视频缓存、秒播
* Demo:弹幕交互
* Demo:Android8.0+画中画示例
#### 二、[历史版本][1]
[1]:https://gitee.com/hty527/iPlayer/wiki/Version "历史版本"
#### 三、SDK集成
* 建议集成前先[下载apk][2]体验,找到自己想要实现的功能模块,后续集成可参考demo源码。
[2]:https://amuse-1259486925.cos.ap-hongkong.myqcloud.com/apk/iPlayer-2.1.2.apk?version=2.1.2 "下载apk"
##### 1、项目根build.gradle配置
```
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
```
##### 2、模块build.gradle配置
```
dependencies {
//播放器(无UI交互)
implementation 'com.github.hty527.iPlayer:iplayer:2.1.20'
//UI交互组件,可根据需要使用
implementation 'com.github.hty527.iPlayer:widget:2.1.20'
//音视频预缓存+边播边存,根据需要使用
//implementation 'com.github.hty527.iPlayer:cache:2.1.20'
//ijk音视频解码器,根据需要使用
//implementation 'com.github.hty527.iPlayer:ijk:2.1.20'
//exo音视频解码器,根据需要使用
//implementation 'com.github.hty527.iPlayer:exo:2.1.20'
//选择exo音视频解码器时需引用
//以下为必须项,SDK内部已引用,集成时无需引用
//implementation 'com.google.android.exoplayer:exoplayer:2.18.1'//(必需)
//implementation 'com.google.android.exoplayer:exoplayer-core:2.18.1'//核心功能(必需)
//implementation "com.google.android.exoplayer:extension-rtmp:2.18.1"//rtmp直播流解码协议//(必需)
//exo音视频解码器,以下为可选依赖,请根据需要实现
//implementation 'com.google.android.exoplayer:exoplayer-dash:2.18.1'//支持DASH内容
//implementation "com.google.android.exoplayer:exoplayer-hls:2.18.1"//支持HLS内容
//implementation "com.google.android.exoplayer:exoplayer-rtsp:2.18.1"//rtsp直播流解码协议
}
```
##### 3、在需要播放视频的xml中添加如下代码,或在适合的位置new VideoPlayer()
```