android实现美颜功能的,Android 如何实现美颜功能

一、CallLib 2.9.0 ~ 2.9.6 范围内版本

1、基于 CallLib 实现美颜

1.1、可以使用以下方式打开美颜功能。/**

* 设置是否打开美颜,(已废弃)

*

* @param enable true 打开,false 关闭

*/

RongCallClient.getInstance().setEnableBeauty(true);

1.2、此版本 CallLib 不支持自定义美颜。

2、基于 RongRTCEngine 实现美颜。

2.1、首先打开美颜功能。//{@link ParameterKey#KEY_IS_BEAUTY_FILETER_USED}: 是否开启美颜模式, 默认值为 false;

Mapparameters = new HashMap();

parameters.put(RongRTCEngine.ParameterKey.KEY_IS_BEAUTY_FILETER_USED,true);

RongRTCEngine.getInstance().setVideoParameters(parameters);

2.2、自定义实现美颜功能,RongRTCEngineEventHandler 的回调 onTextureFrameCaptured 中对视频流进行自定义处理,如果第一步没有打开美颜,则回调不会执行。//1、设置监听

RongRTCEngine.getInstance().setRongRTCEngineEventHandler(new RongRTCEngineEventHandler());

//2、回调方法处理

/**

* 当选择开启美颜效果的时候,此方法会被回调,输出 width/height/oesTextureId。若用户不需要自定义美颜效果,可直接返回                 oesTextureId;

* 或是定义自己的美颜效果,请返回新的textureId。

*

* @param width        当前帧的宽度

* @param height       当前帧的高度

* @param oesTextureId 纹理资源 id

* @return oesTextureId 返回默认oesTextureId(返回0也代表使用默认效果)或是自定义的textureId

*/

@Override

public int onTextureFrameCaptured(int width, int height, int oesTextureId) {

return 0;

}

二、 CallLib 2.9.7 及以后的版本

1、基于 CallLib 实现美颜。

1.1、RongCallManager 设置监听视频流,自己实现美颜功能。```

RongCallClient.getInstance().registerVideoFrameListener(new IVideoFrameListener() {

/**

* 输出 width/height/oesTextureId。若用户不需要自定义美颜效果,可直接返回 oesTextureId;

* 或是定义自己的美颜效果,请返回新的textureId。

*

* @param width        当前帧的宽度

* @param height       当前帧的高度

* @param oesTextureId 纹理资源 id

* @return oesTextureId 返回默认oesTextureId(返回0也代表使用默认效果)或是自定义的textureId

*/

@Override

public int processVideoFrame(int width, int height, int oesTextureId) {

return 0;

}

});

```

2、基于 RongRTC 实现美颜,RongRTC 引擎 2.1.1 及其之后的版本。

2.1、设置监听视频流,自己实现美颜功能。RongRTCEngine.getInstance().setVideoFrameListener(new RongRTCEngineVideoFrameListener() {

/**

* 输出 width/height/oesTextureId。若用户不需要自定义美颜效果,可直接返回 oesTextureId;

* 或是定义自己的美颜效果,请返回新的textureId。

*

* @param width        当前帧的宽度

* @param height       当前帧的高度

* @param oesTextureId 纹理资源 id

* @return oesTextureId 返回默认oesTextureId(返回0也代表使用默认效果)或是自定义的textureId

*/

@Override

public int processVideoFrame(int width, int height, int oesTextureId) {

return 0;

}

});

我们的 RongRTC 是最底层的引擎,提供通讯和会议等能力,一些例如音视频的功能,需要基于我们的引擎二次开发,我们的 CallLib 是基于我们的 RongRTC 引擎开发的一套音视频能力库,提供例如音频视频,群内多人音视频等功能,没有 UI 界面,我们的 callkit 是基于 RongRTC 和 CallLib 开发的有 UI 界面的通讯能力库, 可提供音视频能力和 UI 界面,开发者可以根据自己的需求去选择相应的库,在相应的库的基础上进行操作即可,这里有关于三者更详细的说明,这里有关于三者的文档,这里有融云的开源代码,如 CallKit。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值