YYEVA-Android
Tags:
简体中文 | English
轻量级 高性能 跨平台 MP4 礼物播放器
支持本项目
请支持我们的项目,点击⭐⭐⭐, 让更多的人看到该项目
案例演示
介绍
- YYEVAPlayer 是一个轻量的动画渲染库。通过这里导出动画文件
- 通过这里可以获取设计的测试资源文件
- YYEVA-Android 使用 Native Opengles 渲染视频,为你提供高性能、低开销的动画体验。
平台支持
用法
我们在这里介绍 YYEVA-Android 的用法。想要知道如何导出动画,点击这里。
使用 Gradle 安装依赖
build.gradle
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
dependencies {
implementation 'com.github.yylive.YYEVA-Android:yyeva:1.0.17'
}
// 2.0.0-beta 版本
dependencies {
implementation 'com.github.yylive.YYEVA-Android:yyeva:2.0.0-beta'
}
放置混合 mp4 文件 在 Assets 中
如需要使用 SurfaceView 可以使用 EvaAnimView,需要使用 TextureView 可以使用 EvaAnimViewV3,demo 使用 EvaAnimViewV3
替换元素接口
interface IEvaFetchResource {
// 获取图片 (暂时不支持 Bitmap.Config.ALPHA_8 主要是因为一些机型 opengl 兼容问题)
fun setImage(resource: EvaResource, result:(Bitmap?) -> Unit)
// 获取文字
fun setText(resource: EvaResource, result:(String?) -> Unit)
// 资源释放通知
fun releaseSrc(resources: List<EvaResource>)
}
具体实现可以参照 EvaDemoActivity 的代码实验,替换自身 mp4 中的元素。
播放使用 IEvaAnimView 接口
interface IEvaAnimView {
...
//播放文件
fun startPlay(file: File)
//播放本地文件
fun startPlay(assetManager: AssetManager, assetsPath: String)
//停止播放
fun stopPlay()
//是否正在运行
fun isRunning(): Boolean
//循环播放
fun setLoop(playLoop: Int)
//设置背景图
fun setBgImage(bg: Bitmap)
...
}
2.0.0-beta 播放使用 OptionParams 类配置
class OptionParams {
var frameRate = 30
var playCount = 1
var isMute = false
var isRemoteService = true //使用多进程
var mp4Address = ""
var scaleType = 1 // 1=>裁剪居中, 2=>全屏拉伸 3=>原资源大小
var filterType = "" //高清算法 hermite lagrange
}
代码
QQ 交流群
鸣谢
- 感谢 vap 优秀的混合渲染方案、项目 Render 混合部分重用了 vap 的方案
Dev Team
Cangwang |