简体中文 | English
轻量级 高性能 跨平台 MP4 礼物播放器
请支持我们的项目,点击⭐⭐⭐, 让更多的人看到该项目
- YYEVAPlayer 是一个轻量的动画渲染库。通过这里导出动画文件
- 通过这里可以获取设计的测试资源文件
- YYEVA-Android 使用Native Opengles 渲染视频,为你提供高性能、低开销的动画体验。
我们在这里介绍 YYEVA-Android 的用法。想要知道如何导出动画,点击这里。
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'
}
如需要使用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
}
- 感谢 vap 优秀的混合渲染方案、项目Render混合部分重用了 vap的方案
Cangwang |