Uniapp实现实时音视频的基础美颜滤镜功能

2年前 (2022) 程序员胖胖胖虎阿
353 0 0

视频基础美颜功能简介

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

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

Uniapp实现实时音视频的基础美颜滤镜功能

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();
版权声明:程序员胖胖胖虎阿 发表于 2022年10月21日 上午2:48。
转载请注明:Uniapp实现实时音视频的基础美颜滤镜功能 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...