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多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l

linux批量替换文件内容的实现方式

《linux批量替换文件内容的实现方式》本文总结了Linux中批量替换文件内容的几种方法,包括使用sed替换文件夹内所有文件、单个文件内容及逐行字符串,强调使用反引号和绝对路径,并分享个人经验供参考... 目录一、linux批量替换文件内容 二、替换文件内所有匹配的字符串 三、替换每一行中全部str1为st