tencent cloud

文档反馈

最后更新时间:2024-09-14 09:39:20

    SDK 集成

    1. 集成腾讯特效
    集成SDK
    2. 集成TEBeautyKit
    添加面板JSON文件(如果不使用默认面板可以不添加)
    3. 集成te_adapter_live
    Maven依赖
    aar依赖
    在 dependencies 中添加 te_adapter_live库的依赖
    dependencies{
    ...
    implementation 'com.tencent.mediacloud:te_adapter_live:版本号'
    }
    下载 aar 文件(下载的是一个 zip 文件,解压即可得到 aar 文件)。
    添加下载的 te_adapter_live_xxxx.aar 文件到 app 工程 libs 目录下。
    打开 app 模块的 build.gradle 添加依赖引用:
    dependencies{
    ...
    implementation fileTree(dir: 'libs', include: ['*.jar','*.aar']) //添加 *.aar
    }
    demo 工程可参考 MLVB demo

    SDK 使用

    第一步:设置路径

    TEBeautyKit.setResPath((new File(getFilesDir(), "xmagic_dir").getAbsolutePath()));

    第二步:设置面板 JSON 文件

    请添加您在 TEBeautyKit 集成中的第三步中添加到您工程中的 JSON 文件的路径,没有的 JSON 文件则将路径设置为 null。
    TEUIConfig.getInstance().setTEPanelViewRes("beauty_panel/beauty.json",null, "beauty_panel/lut.json", "beauty_panel/motions.json", "beauty_panel/makeup.json", "beauty_panel/segmentation.json");
    注意:如果您不使用提供的美颜面板,请忽略这步操作。

    第三步:复制美颜资源

    将美颜资源复制到 第一步 中设置的路径下,一个版本只需要成功复制一次
    new Thread(() -> { boolean result = TEBeautyKit.copyRes(MainActivity.this.getApplicationContext()); runOnUiThread(() -> { if (result) { saveCopyData(); } teProgressDialog.dismiss(); checkLicense(); }); }).start();

    第四部:鉴权

    TEBeautyKit.setTELicense(this.getApplicationContext(),LicenseConstant.mXMagicLicenceUrl,LicenseConstant.mXMagicKey, (i, s) -> { if (i == LicenseConstant.AUTH_STATE_SUCCEED) { Intent intent = new Intent(MainActivity.this, ThirdBeautyActivity.class); startActivity(intent); } else { Log.e(TAG, "te license check is failed,please checke "); } });

    第五步:初始化 adapter 和添加面板

    this.beautyLiveAdapter = new TEBeautyLiveAdapter();
    //设置手机朝向 this.beautyLiveAdapter.notifyScreenOrientationChanged(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    //设置相机是前置摄像头还是后置摄像头,以及是否编码镜像 this.beautyLiveAdapter.notifyCameraChanged(isFront, this.isEncoderMirror);
    
    
    private void initBeautyPanelView() { RelativeLayout panelLayout = findViewById(R.id.live_pusher_bp_beauty_panel); this.tePanelView = new TEPanelView(this); if (lastParamList != null) { //用于恢复美颜上次效果 this.tePanelView.setLastParamList(lastParamList); }
    this.tePanelView.showView(this); panelLayout.addView(this.tePanelView); }
    注意:如果您不想使用提供的面板,可以不创建TEPanelView,自己组织美颜属性,调用TEBeautyKitsetEffect 设置美颜属性。

    第六步:绑定美颜

    this.beautyLiveAdapter.bind(this, mLivePusher, new ITEBeautyAdapter.CallBack() {
    @Override
    public void onCreatedTEBeautyKit(TEBeautyKit beautyKit) {
    mBeautyKit = beautyKit;
    tePanelView.setupWithTEBeautyKit(mBeautyKit);
    setTipListener(mBeautyKit);
    setLastParam(mBeautyKit);
    Log.e("beautyLiveAdapter", "onCreatedTEBeautyKit");
    }
    
    @Override
    public void onDestroyTEBeautyKit() {
    mBeautyKit = null;
    Log.e("beautyLiveAdapter", "onDestroyTEBeautyKit");
    }
    });
    

    第七步:参数变化通知 adapter

    //当相机或画面镜像变化时需要调用notifyCameraChanged告诉adapter 最新的状态 this.beautyLiveAdapter.notifyCameraChanged(isFront, this.isEncoderMirror);
    //当屏幕方向变化的时候 需要调用 notifyScreenOrientationChange方法
    this.beautyLiveAdapter.notifyScreenOrientationChanged(orientation);
    

    第八步:销毁美颜

    //当不再需要美颜时可以调用unbind方法解除绑定关系
    this.beautyLiveAdapter.unbind();

    第九步:恢复声音

    /** * 用于恢复贴纸中的声音 * 恢复陀螺仪传感器,一般在Activity的onResume方法中调用 */ this.mBeautyKit.onResume()

    第十步:暂停声音

    /** * 用于暂停贴纸中的声音 * 暂停陀螺仪传感器,一般在Activity的onPause方法中调用 */ this.mBeautyKit.onPause()
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持