FaceUnity快速集成

1. 参考FaceUnity-接入文档,完成鉴权

2.初始化ActivitysetContentViewandroid.opengl.GLSurfaceView的布局

3.构造CameraRenderer

3.1 初始化CameraRenderer


class CameraRenderer(gLSurfaceView: GLSurfaceView?, private val cameraConfig: FUCameraConfig, glRendererListener: OnGlRendererListener?)

参数说明

gLSurfaceViewGLSurfaceView控件 cameraConfig:相机相关配置 glRendererListener:回调接口

示例代码

CameraRenderer mCameraRenderer = new CameraRenderer(mSurfaceView, getCameraConfig(), mOnGlRendererListener);

3.2 构造FUCameraConfig

属性

类型

默认值

备注

cameraType

CameraTypeEnum

CameraTypeEnum.CAMERA1

相机类型:CAMERA1CAMERA2

cameraFacing

CameraFacingEnum

CameraFacingEnum.CAMERA_FRONT

前后置配置

cameraFPS

Int

-1

-1:相机默认帧率, 其他:另创建线程按帧率吐数据

cameraWidth

Int

1280

相机分辨率 宽

cameraHeight

Int

720

相机分辨率 高

3.2 构造OnGlRendererListener 实现以下接口


    /**
     * 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()

4.配置特效

4.1美颜设置示例,更多参考Demo


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);//设置最大人脸数

5.生命周期绑定


    @Override
    public void onResume() {
        super.onResume();
        mCameraRenderer.onResume();
    }
 
    @Override
    public void onPause() {
        super.onPause();
        mCameraRenderer.onPause();
    }
 
 
    @Override
    public void onDestroy() {
        mCameraRenderer.onDestroy();
        super.onDestroy();
    }

 


< 上一页: FaceUnity集成
下一页: 美颜 >