uni-app美颜SDK:在uni-app实现音视频美颜滤镜功能

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台,目前有900万开发者在使用。

基于uni-app开发的应用程序非常多,那么如何在直播、视频通话中实现美颜功能呢?本文为大家分享如何基于ZEGO 音视频SDK集成美颜功能,节省开发时间。

uni-app美颜SDK:在uni-app实现音视频美颜滤镜功能

ZEGO 音视频SDK基础美颜功能简介

ZEGO 音视频SDK提供基础美颜功能,为用户呈现出良好的肌肤状态,打造独特自然的美颜效果。美颜滤镜功能常用于视频通话、直播等场景。

开发者可以开启美颜开关,然后根据需要调整美白、磨皮、锐化以及红润的程度,轻松实现基础美颜功能。

Uniapp实现基础美颜的前提条件

在实现基础美颜功能之前,请确保:

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

(0)

相关推荐

发表回复

登录后才能评论