美颜接入方法

有用户在使用SDK时提出需要接入美颜功能,所以我们增加了这个美颜功能的接口。
我们通过回调函数的方式,将采集到的视频画面暴露给用户,用户可以拿视频数据去美颜,美颜之后再回填到SDK里即可。
首先我们要新建一个类DemoVideoSourceCallback,继承com.starrtc.starrtcsdk.core.videosrc.XHVideoSourceCallback,并重写onVideoFrame和onAudioFrame方法。
onVideoFrame将接收到摄像头采集的画面,onAudioFrame将接受到sdk采集的音频数据,用户可以拿音视频数据做处理,然后直接将处理过的对象返回即可。
注意:从onVideoFrame方法拿到的视频数据格式为NV12,返回的对象里,数据也要NV12格式的,重要的事情说三遍!
注意:从onVideoFrame方法拿到的视频数据格式为NV12,返回的对象里,数据也要NV12格式的,重要的事情说三遍!
注意:从onVideoFrame方法拿到的视频数据格式为NV12,返回的对象里,数据也要NV12格式的,重要的事情说三遍!

public class DemoVideoSourceCallback extends XHVideoSourceCallback {
@Override
public StarVideoData onVideoFrame(StarVideoData videoData){
MLOC.d("DemoVideoSourceCallback","视频源数据已经接到了,不做处理,直接再丢回去"+videoData.getDataLength());
//可直接对videoData里的数据进行处理,处理后将videoData对象返回即可。
return videoData;
}
@Override
public StarAudioData onAudioFrame(StarAudioData audioData){
MLOC.d("DemoVideoSourceCallback","音频源数据已经接到了,不做处理,直接再丢回去"+audioData.getDataLength());
//可直接对audioData里的数据进行处理,处理后将audioData对象返回即可。
return audioData;
}
}

如何使用这个DemoVideoSourceCallback呢?
很简单!只需要在初始化Sdk之后执行以下代码即可。

XHBeautyManager.getInstance().setVideoSourceCallback(new DemoVideoSourceCallback());