class CameraRenderer(gLSurfaceView: GLSurfaceView?, private val cameraConfig: FUCameraConfig, glRendererListener: OnGlRendererListener?)
gLSurfaceView:GLSurfaceView控件 cameraConfig:相机相关配置 glRendererListener:回调接口
CameraRenderer mCameraRenderer = new CameraRenderer(mSurfaceView, getCameraConfig(), mOnGlRendererListener);
属性 | 类型 | 默认值 | 备注 |
cameraType | CameraTypeEnum | CameraTypeEnum.CAMERA1 | 相机类型:CAMERA1,CAMERA2 |
cameraFacing | CameraFacingEnum | CameraFacingEnum.CAMERA_FRONT | 前后置配置 |
cameraFPS | Int | -1 | -1:相机默认帧率, 其他:另创建线程按帧率吐数据 |
cameraWidth | Int | 1280 | 相机分辨率 宽 |
cameraHeight | Int | 720 | 相机分辨率 高 |
/**
* GLSurfaceView.Renderer onSurfaceCreated完成
*/
fun onSurfaceCreated()
/**
* GLSurfaceView.Renderer onSurfaceChanged 完成
*/
fun onSurfaceChanged(width: Int, height: Int)
/**
* 当前渲染的数据流(GL线程回调)
* @param inputData FURenderInputData 特效处理前原始数据
*/
fun onRenderBefore(inputData: FURenderInputData?)
/**
* 当前渲染的数据流(GL线程回调)
* @param outputData FURenderOutputData 特效处理后数据
* @param texMatrix Int 纹理矩阵
* @param mvpMatrix Int 渲染矩阵
*/
fun onRenderAfter(outputData: FURenderOutputData, texMatrix: FloatArray, mvpMatrix: FloatArray)
/**
* 视图渲染完成后回调
*/
fun onDrawFrameAfter()
/**
* 视图销毁回调
*/
fun onSurfaceDestroy()
protected FURenderKit mFURenderKit = FURenderKit.getInstance();
FUAIKit.getInstance().loadAIProcessor(DemoConfig.BUNDLE_AI_FACE, FUAITypeEnum.FUAITYPE_FACEPROCESSOR);//加载人脸驱动
FaceBeauty recommendFaceBeauty = new FaceBeauty(new FUBundleData(DemoConfig.BUNDLE_FACE_BEAUTIFICATION));//初始化美颜
mFURenderKit.setFaceBeauty(faceBeauty);//设置美颜特效
FUAIKit.getInstance().setMaxFaces(4);//设置最大人脸数
@Override
public void onResume() {
super.onResume();
mCameraRenderer.onResume();
}
@Override
public void onPause() {
super.onPause();
mCameraRenderer.onPause();
}
@Override
public void onDestroy() {
mCameraRenderer.onDestroy();
super.onDestroy();
}