# Queen_SDK_Android
**Repository Path**: pichs/Queen_SDK_Android
## Basic Information
- **Project Name**: Queen_SDK_Android
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: Queen_Agora_LiveSDK
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-10-29
- **Last Updated**: 2024-10-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# Queen_Agora_LiveSDK
## [简介]
智能美化特效已集成到声网直播SDK中,接入简单、快速。基于智能视觉算法、海量规模的人脸、人体检测和识别技术,智能美化特效为视频创作者提供移动端的人脸美颜、美型、美妆美化、滤镜贴纸等编辑加工能力,满足直播和视频制作时的美颜特效需求。
技术优势 自研的人脸关键点定位技术,涵盖106个基础点位、280个高精度点位,效果真实。 持续优化的智能视觉算法和实时渲染技术,保证自然流畅的使用体验。 持续升级的美颜美型、滤镜贴纸玩法,不断扩充的素材库,创造更多乐趣。 完善的开发者支持,快速响应客户需求,提供优质可靠的服务。
更多详情与功能体验介绍,参见:[Queen美颜特效SDK官网](https://help.aliyun.com/document_detail/211049.html)
[补充说明]
注:第三方sdk中Demo代码均以第三方官方下载版本Demo为准,相关所有版权均归第三方版本所有,本项目不进行Demo内部的结构变更与功能修改,本项目也不负责维护与更新第三方sdk的Demo.此处各Demo仅用于代码接入展示,不用于其他任何商业途径,一切以Demo本身所属公司或组织为准.
## 前言
1. 本开源工程介绍了,如何在声网直播SDK中,接入Queen美颜SDK。本项目Demo来自声网官方版本,Demo资源名为:[跑通 Agora Live 示例项目
](https://docs.agora.io/cn/Live-stream%20Shopping/run_agora_live_android),官方下载地址为:[声网Agora Live 的github地址](https://github.com/AgoraIO-Usecase/AgoraLive)
2. 本工程可直接本地运行,查看美颜效果,并配置好菜单,不用额外配置账号或授权信息
## 前提条件
1. 已申请好Queen-SDK的License授权,申请方式参见[License申请](https://help.aliyun.com/document_detail/312036.html)
## 环境配置
### 配置LicenseKey
1. 使用 Android Studio(3.5及以上的版本)打开源码工程`AgoraLive`
2. 找到主工程app,将前提条件2中申请到的License-key文件,xxx.crt文件放到assets目录下,若不存在,则在src/main下新建assets目录。
3. 找到主工程app,打开AndroidManifest.xml文件,在application标签下,配置好Licensekey信息,如下:
```
//元数据项指定值,请填入您邮件获取到的LicenseKey
//元数据项指定值,请填入证书文件在工程中相对assets的路径,例如alivc_license/AliVideoCert.crt
```
### 配置gradle
1. 请确保在App主工程中的build.gradle文件中,已配置signingConfigs,且签名文件为申请License时的签名文件。(本工程已提供测试用的github_debug.jks的app开发证书)
2. 在主工程下的build.gradle文件中,新增如下SDK声明:
```
// 此处修改:根据自身项目需要,指定依赖的菜单组件sdk
implementation 'com.aliyunsdk.components:queen_menu:2.0.1.full-beta3'
// 此处修改:根据自身项目需要,指定依赖的sdk版本
implementation 'com.aliyun.maliang.android:queen:2.0.0-official-full'
```
## 代码修改
1. 新建子module工程queen,相关代码修改均在该子模块中;
2. 在app主工程的framework下,新建PreprocessorQueen类,实现IPreprocessor接口所有实现,重点关注其中mQueenRenderer的实现与使用全过程;
3. 相应在AgoraLiveApplication、LivePrepareActivity、LiveBaseActivity中修改对PreprocessorQueen的使用;
4. QueenRenderer相关方法的修改,onPreProcessFrame、initPreprocessor、releasePreprocessor三个接口回调中,分别调用QueenRender的三个相应方法即可,例如:
```
@Override
public VideoCaptureFrame onPreProcessFrame(VideoCaptureFrame outFrame, VideoChannel.ChannelContext context) {
if (mQueenRenderer == null || !mEnabled) {
return outFrame;
}
int processTextureId = mQueenRenderer.onTextureProcess(outFrame.textureId, true,
outFrame.textureTransform, outFrame.format.getWidth(), outFrame.format.getHeight());
// The texture is transformed to texture2D by beauty module.
if (outFrame.textureId != processTextureId) {
// 纹理id发生变化,说明已处理成功,则修改为新纹理id即可
outFrame.textureId = processTextureId;
outFrame.format.setTexFormat(GLES20.GL_TEXTURE_2D);
}
return outFrame;
}
@Override
public void initPreprocessor() {
mQueenRenderer = new QueenRender.Builder().build();
mQueenRenderer.onTextureCreate(mContext);
// Enable beautification by default
mEnabled = true;
}
@Override
public void releasePreprocessor(VideoChannel.ChannelContext context) {
if (mQueenRenderer != null) {
mQueenRenderer.onTextureDestroy();
}
}
```