腾讯特效SDKAndroid_音视频解决方案_同尘科技

腾讯特效SDK 1年前 (2023-12-15) 浏览 79

步骤一:解压 Demo 工程

1. 下载集成了腾讯特效 TE 的 TRTC Demo 工程。本 Demo 基于腾讯特效 SDK S1-04 套餐构建。2. 替换资源。由于本 Demo 工程使用的 SDK 套餐未必与您实际的套餐一致,因此要将本 Demo 中的相关 SDK 文件替换为您实际使用的套餐的 SDK 文件。具体操作如下:删除 xmagic 模块中 libs 目录下的 .aar文件,将 SDK 中 libs 目录下的 .aar 文件拷贝进 xmagic 模块中 libs 目录下。删除 xmagic 模块中 assets 目录下的所有文件,将 SDK 中的 assets/ 目录下的全部资源拷贝到 xmagic 模块../src/main/assets 目录下,如果 SDK 包中的 MotionRes 文件夹内有资源,将此文件夹也拷贝到 ../src/main/assets 目录下 。删除 xmagic 模块中 jniLibs 目录下的所有.so文件,在 SDK 包内的 jniLibs 中找到对应的.so文件(由于 SDK 中 jinLibs 文件夹下的 arm64-v8a 和 armeabi-v7a 的.so文件在压缩包中,所以需要先解压),拷贝到 xmagic 模块中的 ../src/main/jniLibs 目录下。3. 将 Demo ⼯程中的 xmagic 模块引⼊到实际项⽬⼯程中。

步骤二:打开 app 模块的 build.gradle

1. 将 applicationId 修改成与申请的测试授权⼀致的包名。2. 添加 gson 依赖设置。

configurations{ all*.exclude group:'com.google.code.gson'}

步骤三:SDK 接口集成

可参考 Demo⼯程的 ThirdBeautyActivity 类。1. 授权:

  //鉴权注意事项及错误码详情,请参考 https://cloud.tencent.com/document/product/616/65891#.E6.AD.A5.E9.AA.A4.E4.B8.80.EF.BC.9A.E9.89.B4.E6.9D.83XMagicImpl.checkAuth((errorCode, msg) -> {             if (errorCode == TELicenseCheck.ERROR_OK) {                 showLoadResourceView();             } else {                 TXCLog.e(TAG, "鉴权失败,请检查鉴权url和key" + errorCode + " " + msg);             }         });

2. 初始化素材:

private void showLoadResourceView() {     if (XmagicLoadAssetsView.isCopyedRes) {         XmagicResParser.parseRes(getApplicationContext());         initXMagic();     } else {         loadAssetsView = new XmagicLoadAssetsView(this);         loadAssetsView.setOnAssetsLoadFinishListener(() -> {             XmagicResParser.parseRes(getApplicationContext());             initXMagic();         });     } }

3. 开启推流设置:

mTRTCCloud.setLocalVideoProcessListener(TRTCCloudDef.TRTC_VIDEO_PIXEL_FORMAT_Texture_2D, TRTCCloudDef.TRTC_VIDEO_BUFFER_TYPE_TEXTURE, new TRTCCloudListener.TRTCVideoFrameListener() { @Override public void onGLContextCreated() { } @Override public int onProcessVideoFrame(TRTCCloudDef.TRTCVideoFrame srcFrame, TRTCCloudDef.TRTCVideoFrame dstFrame) { } @Override public void onGLContextDestory() { }});

4. 将 textureId 传入到 SDK 内做渲染处理:
在 TRTCVideoFrameListener 接口的 onProcessVideoFrame(TRTCCloudDef.TRTCVideoFrame srcFrame, TRTCCloudDef.TRTCVideoFrame dstFrame) 方法内添加如下代码:

dstFrame.texture.textureId = mXMagic.process(srcFrame.texture.textureId, srcFrame.width, srcFrame.height);

process 方法以及美颜 SDK 的各 API 的详细说明见 API 文档。5. 暂停/关闭 SDK:
onPause() 用于暂停美颜效果,可以在 Activity/Fragment 生命周期方法中执行,onDestroy 方法需要在 GL 线程调用(可以在 onTextureDestroyed 方法中调用 XMagicImpl 对象的 onDestroy()) ,更多使用请参考 Demo。

mXMagic.onPause();   //暂停,与Activity的onPause方法绑定mXMagic.onDestroy();  //销毁,需要在GL线程中调用

6. 布局中添加 SDK 美颜面板

 

7. 初始化面板:

   private void initXMagic() {       if (mXMagic == null) {           mXMagic = new XMagicImpl(this, mBeautyPanelView);       }else {           mXMagic.onResume();       }   }

具体操作请参见 Demo ⼯程的 ThirdBeautyActivity.initXMagic();⽅法。

对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?