如何初始化请查看文档:快速开始-初始化
成功初始化 SDK 之后,调用 enableBeautifying
开启美颜功能,开启美颜功能若不设置磨皮、美白等参数,SDK 采用默认的美颜参数值。
接口原型:
public boolean enableBeautifying(int feature)
参数:
feature
:美颜特性,参考 ZegoBeauty 定义,默认无美颜;ZegoBeauty
中的美颜特性枚举都采用相应的默认值,比如 POLISH
等同与 zegoliveRoom.setPolishStep(4.0)
。
示例代码如下:
...
private ZegoLiveRoom zegoliveRoom;
zegoliveRoom = new ZegoLiveRoom();
// 初始化 SDK
...
// 开启美颜
zegoliveRoom.enableBeautifying(ZegoBeauty.POLISH | ZegoBeauty.SKIN_WHITEN); // 此处示例同时开启磨皮和美白特性,可以根据需要开启其它美颜特性
开启美颜后,可在推流时按需设置美颜的磨皮,美白,锐化等参数来达到特定的美颜效果;此步骤是可选的。
若需自定义磨皮的力度,可调用 com.zego.zegoliveroom.ZegoLiveRoom
包下的 setPolishStep
来设置磨皮参数。
接口原型:
public boolean setPolishStep(float step)
参数:
step
:磨皮的采样半径,取值范围[1,16],默认值是 4.0;参数值越大,磨皮力度越大,皮肤肉眼效果更好。
示例代码如下:
...
// 初始化 SDK 等操作
...
// 设置美颜磨皮的采样步长
zegoliveRoom.setPolishStep(4.0); //此处磨皮的采样半径采用默认值 4.0
若需自定义美白的亮度,可调用 com.zego.zegoliveroom.ZegoLiveRoom
包下的 setWhitenFactor
来设置美白参数。
接口原型:
public boolean setWhitenFactor(float factor)
参数:
factor
:美白亮度修正系数,取值范围[0,1],默认值是 0.5;参数值越大亮度越暗即参数值越小越白。
示例代码如下:
...
// 初始化 SDK 等操作
...
// 设置美颜美白的亮度修正参数
zegoliveRoom.setWhitenFactor(0.5); //此处美白亮度修正系数采用默认值 0.5
若需自定义画面的锐化效果,可调用 com.zego.zegoliveroom.ZegoLiveRoom
包下的 setSharpenFactor
来设置锐化参数。
接口原型:
public boolean setSharpenFactor(float factor)
参数:
factor
:锐化系数,取值范围[0,2],默认值是 0.2;参数值越大锐化越强,图片越清晰。
示例代码如下:
...
// 初始化 SDK 等操作
...
// 设置锐化参数
zegoliveRoom.setSharpenFactor(0.2); //此处锐化系数采用默认值 0.2
若需自定义美颜采样颜色的阈值,可调用 com.zego.zegoliveroom.ZegoLiveRoom
包下的 setPolishFactor
来设置采样颜色参数。
接口原型:
public boolean setPolishFactor(float factor, int channelIndex)
参数:
factor
:美颜采样颜色系数,取值范围[0,16],默认值是 4.0;参数值越小,画面稍微有点儿朦胧。
channelIndex
:推流通道index, 参考 ZegoConstants.PublishChannelIndex
示例代码如下:
...
// 初始化 SDK 等操作
...
// 设置美颜采样颜色阈值
zegoliveRoom.setPolishFactor(4.0); //此处采样颜色系数采用默认值 4.0
若需使用滤镜调整画面颜色,可调用 com.zego.zegoliveroom.ZegoLiveRoom
包下的 setFilter
来设置滤镜类型。
接口原型:
public boolean setFilter(int filter)
参数:
filter
:滤镜类型,参考 ZegoFilter,默认不使用滤镜。
示例代码如下:
...
// 初始化 SDK 等操作
...
// 设置滤镜
zegoliveRoom.setFilter(ZegoFilter.BlackWhite); //此处滤镜类型采用黑白
如何初始化请查看文档:快速开始-初始化
可调用 com.zego.zegoliveroom.ZegoLiveRoom
包下的 setWaterMarkImagePath
选择用做水印的图片。
注意:
- 需要在初始化 SDK 成功后设置水印。
- 水印图片只支持 png、jpg 格式。
接口原型:
public static boolean setWaterMarkImagePath(String imagePath)
参数:
imagePath
:预设置的水印图片路径,绝对路径。
示例代码如下:
...
// 设置水印图片路径
// 1. 图片是完整路径时的用法
ZegoliveRoom.setWaterMarkImagePath("file:/sdcard/image.png");
// 2. 图片存在于 assets
ZegoliveRoom.setWaterMarkImagePath("asset:watermark.png");
需要在本地预览画面上添加水印时,调用 com.zego.zegoliveroom.ZegoLiveRoom
包下的 setPreviewWaterMarkRect
。
接口原型:
public static boolean setPreviewWaterMarkRect(Rect rect)
参数:
rect
:水印图片的位置与尺寸,左上角为坐标系原点,区域不能超过设置的编码分辨率值。
需要在推流画面添加水印时,调用 com.zego.zegoliveroom.ZegoLiveRoom
包下的 setPublishWaterMarkRect
。
接口原型:
public static boolean setPublishWaterMarkRect(Rect rect)
参数:
rect
:水印图片的位置,左上角为坐标系原点,区域不能超过设置的推流编码分辨率。
方法 | 描述 |
---|---|
enableBeautifying | 开启美颜 |
setFilter | 设置滤镜 |
setPolishStep | 设置美颜磨皮的采样步长 |
setWhitenFactor | 设置美颜美白的亮度修正参数 |
setSharpenFactor | 设置锐化参数 |
setPolishFactor | 设置美颜采样颜色阈值 |
setWaterMarkImagePath | 设置水印图片的路径 |
setPublishWaterMarkRect | 设置推流水印图片的位置 |
setPreviewWaterMarkRect | 设置预览水印图片的位置 |
完成了美颜、滤镜或者水印的设置后,可以使用 ZEGO SDK 依次完成如下功能来实现直播以检验美颜、滤镜或者水印设置的效果。
Q1:如何消除水印?
答:可通过以下代码实现消除水印。
Rect rect = new Rect (left:0, top:0, right:0, bottom:0);
ZegoLiveRoom.setWaterMarkImagePath("");
ZegoLiveRoom.setPreviewWaterMarkRect(rect);
zegoLiveRoom.setPublishWaterMarkRect(rect);
联系我们
文档反馈