Android 直播、短视频平台第三方宝宝特效SDK接入方式

2024-03-13 18:18

本文主要是介绍Android 直播、短视频平台第三方宝宝特效SDK接入方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目集成流程:

1.获取APPKEY:进入哎吖科技官网:http://www.aiyaapp.com/,提交接入申请,填入applicationId获取appKey。(可以免费申请试用)

2.添加Maven集成:在项目的build.gradle中添加引用,如图:


3. 添加依赖

compile 'com.aiyaapp.aiya:AyCore:v4.0.2'

compile 'com.aiyaapp.aiya:AyEffect:v4.0.2'

compile 'com.aiyaapp.aiya:AyBeauty:v4.0.2'

compile'com.aiyaapp.aiya:AyFaceTrack:v4.0.2

compile 'com.aiyaapp.aiya:AyShortVideoEffect:v4.0.2'

4、AiyaSDK认证。对于所有模块的认证,流程都是一致的。每个模块都有一个入口类,应用中要使用某个模块的功能时,需要调用AiyaEffects.registerComponent方法,注册这个模块。先设置监听器,在接收INIT消息时,注册需要使用的模块。AUTH消息为认证结果,如果无法使用特效,很多时候是因为认证失败。特效注册后,认证成功之前默认为模块可用,所以无需等待认证结果,可放心执行其他任务。

5.、使用流程:

利用CameraRecorder2来来预览相机并录制视频。

*其中mRecord.setRenderer(mFlinger);//添加渲染,其中的特效处理可以添加到mFinger中。
*CameraRecorder2是一个相机预览及录制工具类。

*AAVT是一个对视频的渲染库文件,其中包对mp4文件的处理,相机预览和视频录制的工具,还有YUV视频格式的导出等功能。

礼物贴图:引用so库

初始化AiyaGiftFilter类

*其中AiyaTracker表示的是加入人脸识别功能。

添加礼物贴图动画监听

*其中贴图资源可以放在项目的Assets目录中,若想减少apk的体积可以吧资源放入网络中获取。(资源可以从Demo中的Assets目录中获取)

*添加贴图资源和释放

*具体使用可以参考Demo中DefaultEffectFlinger类

人脸识别模块:可以与贴图配合使用,如上。同时也可以与美颜模块中的美型(大眼,瘦脸)配合使用。

*具体使用可以参考Demo中DefaultEffectFlinger类中的使用。

美颜模块:美颜共有AiyaBeauty.TYPE1,AiyaBeauty.TYPE2,AiyaBeauty.TYPE3,AiyaBeauty.TYPE4,

AiyaBeauty.TYPE5,AiyaBeauty.TYPE6,六种美颜形式。其引用的so文件如下

初始化AyBeautyFilter

*其中key表示的是美颜的六种类型

*mBeautyDegree:表示的是美颜的值,其取值范围在[0.0f, 1.0f]。

*其中每一种美颜模式都可以设置磨皮系数,红润度参数和美白参数,取值范围[0.0f, 1.0f]

设置美颜强度、设置磨皮强度、设置红润强度、设置美白强度

短视频模块:引用so库

其现总共有13中效果分别是:

无特效 ——————LazyFilter.class

灵魂出窍 ——————SvSpiritFreedFilter.class

抖动 —————— SvShakeFilter.class

黑魔法 —————— SvBlackMagicFilter.class

虚拟镜像 —————— SvVirtualMirrorFilter.class

荧光 —————— SvFluorescenceFilter.class

时光隧道 —————— SvTimeTunnelFilter.class

躁动 —————— SvDysphoriaFilter.class

终极变色 —————— SvFinalZeligFilter.class

动感分屏 —————— SvSplitScreenFilter.class

幻觉 —————— SvHallucinationFilter.class

70S —————— SvSeventysFilter.class

炫酷转动 —————— SvRollUpFilter.class

四分屏 —————— SvFourScreenFilter.class

三分屏 —————— SvThreeScreenFilter.class

黑白闪烁 —————— SvBlackWhiteTwinkleFilter.class

转场动画 —————— SvCutSceneFilter.class


添加混淆
-keep class com.aiyaapp.aiya.IEventListener{*;}
-keep class com.aiyaapp.aiya.WeakAnimListener{*;}
-keep class com.aiyaapp.aiya.render.AnimListener{*;}
-keep class com.aiyaapp.aiya.AiyaGiftEffect{*;}
-keep class com.aiyaapp.aiya.AiyaBeauty{*;}
-keep class com.aiyaapp.aiya.AiyaTracker{*;}
-keep class com.aiyaapp.aiya.AiyaShaderEffect{*;}

-keep class com.aiyaapp.aiya.AiyaEffects{*;}


项目的Demo: https://download.csdn.net/download/tanghongchang123/10323156

这篇关于Android 直播、短视频平台第三方宝宝特效SDK接入方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/805747

相关文章

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

Android协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

IDEA与MyEclipse代码量统计方式

《IDEA与MyEclipse代码量统计方式》文章介绍在项目中不安装第三方工具统计代码行数的方法,分别说明MyEclipse通过正则搜索(排除空行和注释)及IDEA使用Statistic插件或调整搜索... 目录项目场景MyEclipse代码量统计IDEA代码量统计总结项目场景在项目中,有时候我们需要统计

C#和Unity中的中介者模式使用方式

《C#和Unity中的中介者模式使用方式》中介者模式通过中介者封装对象交互,降低耦合度,集中控制逻辑,适用于复杂系统组件交互场景,C#中可用事件、委托或MediatR实现,提升可维护性与灵活性... 目录C#中的中介者模式详解一、中介者模式的基本概念1. 定义2. 组成要素3. 模式结构二、中介者模式的特点