uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台,目前有900万开发者在使用。
基于uni-app开发的应用程序非常多,那么如何在直播、视频通话中实现美颜功能呢?本文为大家分享如何基于ZEGO 音视频SDK集成美颜功能,节省开发时间。
ZEGO 音视频SDK基础美颜功能简介
ZEGO 音视频SDK提供基础美颜功能,为用户呈现出良好的肌肤状态,打造独特自然的美颜效果。美颜滤镜功能常用于视频通话、直播等场景。
开发者可以开启美颜开关,然后根据需要调整美白、磨皮、锐化以及红润的程度,轻松实现基础美颜功能。
Uniapp实现基础美颜的前提条件
在实现基础美颜功能之前,请确保:
- 已在项目中集成 ZEGO Express SDK,实现基本的实时音视频通话功能,详情请参考 快速开始 – 集成 和 快速开始 – 实现视频通话。
- 已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 – 项目管理 中的“项目信息”。
Uniapp基础美颜SDK使用步骤
初始化基础美颜功能的环境
若您需要使用基础美颜功能,则必须在 startPreview 开始预览、startPublishingStream 推流前,调用 startEffectsEnv 接口初始化美颜环境。
/** 1. 创建美颜环境 */
await this.engine.startEffectsEnv();
开关基础美颜功能的效果展示
enableEffectsBeauty 接口和 setEffectsBeautyParam 接口的调用时序无先后之分。
初始化美颜环境后,您可以在推流前后,调用 enableEffectsBeauty 接口实时开启或关闭美颜效果。
/** 开关美颜效果 */
await this.engine.enableEffectsBeauty(true);
设置基础美颜效果参数
初始化美颜环境后,您可以在推流前后,调用 setEffectsBeautyParam 接口实时设置美颜效果参数。
- smoothIntensity:磨皮,在保留脸部细节的基础上进行磨皮,比如脸上的痣会保
- whitenIntensity:美白,对画面整体调高亮度来美白脸部。
- rosyIntensity:红润,对画面整体进行暖色处理。
- sharpenIntensity:锐化,对画面整体进行锐化处理,当画面有些模糊时可以稍微调大锐化使轮廓清晰。
以上四个参数的取值范围都为 0 ~ 100,取值越大美颜程度越高,默认值为 50。
// 创建美颜参数对象
let beautyParam = {};
// 美白、红润、磨皮、锐化
beautyParam.whitenIntensity = 50;
beautyParam.rosyIntensity = 50;
beautyParam.smoothIntensity = 50;
beautyParam.sharpenIntensity = 50;
/** 3. 设置美颜参数 */
await this.engine.setEffectsBeautyParam(beautyParam);
销毁基础美颜环境
当调用 enableEffectsBeauty 接口设为 “false” 时,会关闭美颜效果,但美颜模块还是会占用资源并消耗性能。如果想彻底释放资源,节省性能消耗,则需要在预览和推流前调用 stopEffectsEnv 接口销毁美颜环境。
当调用 destroyEngine 销毁引擎的同时,SDK 会自动销毁美颜环境。
/** 4. 销毁美颜环境 */
await this.engine.stopEffectsEnv();
通过以上几个步骤,就可以实现基础的美颜功能,更多功能可以到即构开发者中心文档进行查看。
本文为原创稿件,版权归作者所有,如需转载,请注明出处:https://www.nxrte.com/jishu/yinshipin/5168.html