集成进阶美颜效果
功能简介
除了音视频通话 UIKit 提供的基本美颜效果外,您还可以选择使用高级美颜效果来增强您的直播应用。高级美颜效果包括以下功能:面部美化、面部塑形、美妆、滤镜、贴纸和背景分割。
前提条件
在开始之前,请确保您已完成以下操作:
- 已集成音视频通话 UIKit,详情请参考 快速开始 或 快速开始(包含呼叫邀请)。
- 联系 ZEGO 技术支持激活高级美颜效果。
- 已下载并跑通 示例源码。
实现流程
集成 SDK
1. 添加依赖
Untitled
implementation 'com.github.ZEGOCLOUD:zego_uikit_beauty_plugin_android:+'
1
2. 添加初始化代码
由于在 快速开始 过程中,已添加了初始化代码,您只需在 ZegoUIKitPrebuiltCallConfig.bottomMenuBarConfig
中添加美颜按钮。
Untitled
//...
ZegoUIKitPrebuiltCallInvitationConfig callInvitationConfig = new ZegoUIKitPrebuiltCallInvitationConfig();
// 在主持人中添加 `ZegoMenuBarButtonName.BEAUTY_BUTTON`
callInvitationConfig.provider = new ZegoUIKitPrebuiltCallConfigProvider() {
@Override
public ZegoUIKitPrebuiltCallConfig requireConfig(ZegoCallInvitationData invitationData) {
ZegoUIKitPrebuiltCallConfig config = null;
boolean isVideoCall = invitationData.type == ZegoInvitationType.VIDEO_CALL.getValue();
boolean isGroupCall = invitationData.invitees.size() > 1;
if (isVideoCall && isGroupCall) {
config = ZegoUIKitPrebuiltCallConfig.groupVideoCall();
} else if (!isVideoCall && isGroupCall) {
config = ZegoUIKitPrebuiltCallConfig.groupVoiceCall();
} else if (!isVideoCall) {
config = ZegoUIKitPrebuiltCallConfig.oneOnOneVoiceCall();
} else {
config = ZegoUIKitPrebuiltCallConfig.oneOnOneVideoCall();
}
config.bottomMenuBarConfig.buttons = Arrays.asList(ZegoMenuBarButtonName.TOGGLE_CAMERA_BUTTON,
ZegoMenuBarButtonName.SWITCH_CAMERA_BUTTON, ZegoMenuBarButtonName.HANG_UP_BUTTON,
ZegoMenuBarButtonName.TOGGLE_MICROPHONE_BUTTON, ZegoMenuBarButtonName.BEAUTY_BUTTON);
return config;
}
};
ZegoUIKitPrebuiltCallService.init(getApplication(), appID, appSign, userID, userName,callInvitationConfig);
//...
1
添加美颜效果资源
高级美颜效果需要相应的美颜资源才能生效。
下载资源
- 点击下载 美颜资源,并将资源解压到您的本地文件夹。
- 添加资源至 Android:
- 在 Android 项目的
main
目录下,创建一个 assets 文件夹(如果 assets 文件夹已存在,则无需创建)。 - 将下载的
BeautyResources
文件夹复制到 assets 目录。
- 在 Android 项目的
运行 & 测试
上述步骤完成后,您只需点击运行或调试按钮,即可在设备上运行和测试您的应用。
更多功能
如需实现更多美颜效果,请参考 自定义美颜相关功能。