SDK Integration
1. Integration TencentEffect
2. Integration TEBeautyKit
3. Integrationte_adapter_trtc
Add the dependency for te_adapter_trtc
in dependencies
dependencies{
...
implementation 'com.tencent.mediacloud:te_adapter_trtc:Version number'
}
Download AAR file (a zip file will be downloaded; extract it to get the AAR file). Add the downloaded te_adapter_live_xxxx.aar
file to the app project libs
directory.
Open build.gradle
in the app module and add a dependency reference:
dependencies{
...
implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
}
Note:
To run the code, you need to add your applied License information in the file com.tencent.thirdbeauty.xmagic.LicenseConstant.java
, and modify the applicationId in the build.gradle
file under the App module to the package name you provided when applying for the License.
Due to the dependency on TRTC capability, you need to find the file com.tencent.trtc.debug.GenerateTestUserSig.java
under the Debug module and add the corresponding APPID, SDKAPPID, and SECRETKEY
.
For the main code integration of beauty effects, please refer to the file com.tencent.trtc.thirdbeauty.ThirdBeautyActivity.java
.
SDK Usage Steps
Step 1: Set Panel's JSON File
Please append the path of the JSON file added to your project in the second step of the 'How to Integrate' section in the TEBeautyKit Integration Document. If there is no JSON file, then the path Setting should be null. 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);
Note: If you do not use the provided beauty panel, please ignore this step.
Step 2: Authenticate and copy resource
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 ");
}
});
Note:
Resource copying is based on the SDK version number, so resources will only be successfully copied once for the same SDK version number.
Step 3: Initialize the adapter and the panel
this.beautyAdapter = new TEBeautyTRTCAdapter();
this.beautyAdapter.notifyScreenOrientationChanged(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
this.beautyAdapter.notifyCameraChanged(isFront, this.isEncoderMirror);
private void initializeBeautyPanelView() {
RelativeLayout panelLayout = findViewById(R.id.live_pusher_bp_beauty_panel);
this.elegantPanelView = new TEPanelView(this);
if (previousParamList != null) {
this.elegantPanelView.setPreviousParamList(previousParamList);
}
this.elegantPanelView.displayView(this);
panelLayout.addView(this.elegantPanelView);
}
Note: If you do not use the provided panel, you do not need to create TEPanelView
. Beauty attributes can be set using TEBeautyKit
's setEffect
method.
Step 4. Create Beauty
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");
}
});
Step 5. Notify adapter while Parameter Changed
this.beautyAdapter.notifyCameraChanged(isFront, this.isEncoderMirror);
this.beautyAdapter.notifyScreenOrientationChanged(orientation);
Step 6: Destroy Beauty
this.beautyAdapter.unbind();
Step 7: Resume Audio
this.mBeautyKit.onResume()
Step 8: Pause Audio
this.mBeautyKit.onPause()
Was this page helpful?