class FaceunityManager { //初始化美颜sdk,以及相关管理类 fun initFuRender(context: Context) { // The settings of FURender may be slightly different, FURenderer.initFURenderer(context) }
//设计camera数据相关采集参数,宽,高,帧率,是否推流...... fun setFaceUnityParam(width: Int, height: Int) { // set capture width mVideoCaptureConfigInfo?.videoCaptureWidth = width // set capture height mVideoCaptureConfigInfo?.videoCaptureHeight = height // set capture fps mVideoCaptureConfigInfo?.videoCaptureFps = 30 // set capture camera mVideoCaptureConfigInfo?.cameraFace = Constant.CAMERA_FACING_FRONT // set agora consumer format mVideoCaptureConfigInfo?.videoCaptureFormat = VideoCaptureConfigInfo.CaptureFormat.TEXTURE_2D // set agora consumer type ...... }
/** * 设置并开启美颜,当上麦倒计时,直接调用 */ fun setBeauty() { if (this.mGLSurfaceViewLocal == null) { return } if (mVideoManager?.videoRender != null) { return } isShowVideo = true mVideoManager?.allocate(mVideoCaptureConfigInfo) mVideoManager?.setRenderView(this.mGLSurfaceViewLocal) startBundle() mVideoManager?.attachConnectorToRender(mVideoSource) mVideoManager?.startCapture() }
/** * 开启美颜,对bundle进行校验,校验成功,加载bundle,开启美颜功能 * 如果bundle下载成功后,也使用此方法开启美颜功能 */ fun startBundle(fileName: String) { val isVerity = isVerify(mFaceBundlePath, fileName + "_md5") if (isVerity) { mVideoManager?.runInRenderThread { if (!mFUInit) { mFURenderer?.onSurfaceCreated() mFUInit = true } } } mVideoManager?.connectEffectHandler(mEffectHandler) } } }