SDK 集成
1. 集成腾讯特效
2. 集成TEBeautyKit
3. 集成te_adapter_trtc
在 dependencies 中添加 te_adapter_trtc
库的依赖
dependencies{
...
implementation 'com.tencent.mediacloud:te_adapter_trtc:版本号'
}
下载 aar 文件(下载的是一个 zip 文件,解压即可得到 aar 文件)。 添加下载的 te_adapter_trtc_xxxx.aar
文件到 app 工程 libs
目录下。
打开 app 模块的 build.gradle
添加依赖引用:
dependencies{
...
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
}
注意:
运行代码需要在com.tencent.thirdbeauty.xmagic.LicenseConstant.java
文件中添加您申请的License
信息,并将App module
下的build.gradle
中的applicationId
修改为您申请License
时填写的包名。
由于依赖TRTC能力,所以需要在Debug module
下找到 com.tencent.trtc.debug.GenerateTestUserSig.java
文件,并添加对应的APPID,SDKAPPID,SECRETKEY
。
美颜集成的主要代码参考:com.tencent.trtc.thirdbeauty.ThirdBeautyActivity.java
文件。
SDK 使用
第一步:设置面板 JSON 文件
TEPanelViewResModel resModel = new TEPanelViewResModel();
String combo = "S1_07";
resModel.beauty = "beauty_panel/"+combo+"/beauty.json";
resModel.lut = "beauty_panel/"+combo+"/lut.json";
resModel.beautyBody = "beauty_panel/"+combo+"/beauty_body.json";
resModel.motion = "beauty_panel/"+combo+"/motions.json";
resModel.lightMakeup = "beauty_panel/"+combo+"/light_makeup.json";
resModel.segmentation = "beauty_panel/"+combo+"/segmentation.json";
TEUIConfig.getInstance().setTEPanelViewRes(resModel);
注意:如果您不使用提供的美颜面板,请忽略这步操作。
第二步:鉴权和资源复制
TEBeautyKit.setupSDK(this.getApplicationContext(),LicenseConstant.mXMagicLicenceUrl,LicenseConstant.mXMagicKey, (i, s) -> {
if (i == LicenseConstant.AUTH_STATE_SUCCEED) {
runOnUiThread(() -> {
Intent intent = new Intent(MainActivity.this, ThirdBeautyActivity.class);
startActivity(intent);
}
} else {
Log.e(TAG, "te license check is failed,please checke ");
}
});
注意:
资源复制是根据 SDK 的版本号进行的,所以同一个版本号的 SDK 只会成功复制一次资源。
第三步:初始化 adapter 和添加面板
this.beautyAdapter = new TEBeautyTRTCAdapter();
this.beautyAdapter.notifyScreenOrientationChanged(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
this.beautyAdapter.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
,美颜属性调用TEBeautyKit
的setEffect
设置美颜属性。
第四步:绑定美颜
this.beautyAdapter.bind(this, this.mTRTCCloud, 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
this.beautyAdapter.notifyCameraChanged(isFront, this.isEncoderMirror);
this.beautyAdapter.notifyScreenOrientationChanged(orientation);
第六步:销毁美颜
this.beautyAdapter.unbind();
第七步:恢复声音
this.mBeautyKit.onResume()
第八步:暂停声音
this.mBeautyKit.onPause()
本页内容是否解决了您的问题?