集成指引
本文主要介绍如何快速地将腾讯礼物动画特效 SDK 集成到您的项目中,按照如下步骤进行配置,就可以完成 SDK 的集成工作。
开发环境要求
Android Studio 2.0+。
Android 4.4(SDK API 19)及以上系统。
集成 SDK
手动集成
1. 下载 MediaX_Android_SDK_Latest.zip ,下载完成后进行解压获取到 SDK aar 文件。
2. 将下载文件解压之后 SDK 目录下的 aar 文件拷贝到工程的 app/libs 目录下:

3. 在工程根目录下的 build.gradle 中,添加 flatDir,指定本地仓库路径。

4. 添加腾讯礼物动画特效 SDK 依赖,在 app/build.gradle 中,添加引用 aar 包的代码。

implementation(name: "TCEffectPlayer_x.x.x", ext: "aar")implementation(name: "TCMediaX_x.x.x", ext: "aar")implementation(name: "xmagic-auth_x.x.x", ext: "aar")
注意:
如上示例中的 x.x.x 为版本号,具体以实际下载的 SDK 最新版本号为准;另外需要注意3个 aar 的版本号必须一致。
5. 在 app/build.gradle 的 defaultConfig 中,指定 App 使用的 CPU 架构(目前支持 armeabi-v7a 和 arm64-v8a)。
defaultConfig {ndk {abiFilters "armeabi-v7a", "arm64-v8a"}}
Gradle 方式集成
1. 打开对应的 build.gradle 文件,在 dependencies 标签内加上腾讯礼物动画特效 SDK 依赖项:
dependencies {// 不推荐集成最新版本,推荐指定版本号集成//implementation "com.tencent.mediacloud:TCEffectPlayer:latest.release"implementation "com.tencent.mediacloud:TCEffectPlayer:版本号"}
2. 在 app/build.gradle 的 defaultConfig 中,指定 App 使用的 CPU 架构(目前支持 armeabi-v7a 和 arm64-v8a)。
defaultConfig {ndk {abiFilters "armeabi-v7a", "arm64-v8a"}}
最后,单击 Sync Now 同步 SDK,完成腾讯礼物动画特效 SDK 的集成工作。
设置混淆规则
在 proguard-rules.pro 文件中,将相关类加入不混淆名单:
-keep class com.tcmediax.** { *; }
-keep class com.tencent.** { *; }
-keep class com.tencent.xmagic.** { *; }
#
腾讯礼物动画特效SDK会通过 exifinterface 解析动效资源元数据,如果项目中引入了exifinterface, 必须加入下面的混淆配置
-keep class androidx.exifinterface.** {*;}
软解能力集成指引
优势
由于 Android 系统碎片化严重,在极个别手机上会出现无法避免的硬解失败问题,因此需要借助软解能力来提升播放成功率(成功率可提升至99.99%),因此强烈建议您同时接入软解库,以达到更好的特效播放体验。
集成步骤
已集成 LiteAVSDK_TRTC SDK
如果您之前的项目中已集成视立方相关 SDK,如:LiteAVSDK_TRTC、LiteAVSDK_Live 等。则需要集成腾讯云播放器精简版 SDK(LiteAVSDK_Player_Mini),把对应 LiteAVSDK_Player_Mini.aar 放到工程 libs 目录,然后在 dependencies 中添加对应依赖:
dependencies {implementation (name:'LiteAVSDK_Player_Mini', ext:'aar')}
已集成 LiteAVSDK_Professional 相关 SDK
如果您之前的项目中已集成视立方相关SDK,如:LiteAVSDK_Player、LiteAVSDK_Player_Premium、LiteAVSDK_Professional、LiteAVSDK_UGC 等。则软解能力会自动支持,无需额外操作。
注意:
如果您的项目中已经集成了腾讯云视立方 SDK, 请检查是否包含播放器 SDK ,同时检查是否已经申请和配置播放器 License。
未集成视立方相关 SDK
如果您之前的项目中未集成视立方相关 SDK,则建议集成腾讯云播放器精简版 SDK(LiteAVSDK_Player_Mini)。将对应的 LiteAVSDK_Player_Mini.aar 文件放到工程的 libs 目录下,然后在 dependencies 中添加相应依赖:
dependencies {implementation (name:'LiteAVSDK_Player_Mini', ext:'aar')}
最后一步,需要配置 so 文件:将 jniLibs_txffmpeg_so.zip 链接中 so 文件下载到本地之后解压,把解压后的 jniLibs 目录中的 so 文件复制到 app 的 src/main 目录中,并且在 app/build.gradle 中配置对应路径:

sourceSets {main {jniLibs.srcDirs = ['src/main/jniLibs']}}
申请 License
常见问题
xmagic 冲突如何解决?
如果您的项目中同时集成了美颜特效 SDK,由于美颜特效 SDK 和动画特效 SDK 都使用了 License 授权库 xmagic-auth,所以集成时会出现类冲突(如:Duplicate class com.tencent.xmagic.auth.Auth)、so 文件冲突(如:libYTCommonXMagic.so 冲突)。处理方式如下:
1. AAR 本地集成
如果您是通过 aar 本地集成的,此时在集成动画特效 SDK 时,不需要往项目中额外集成 xmagic-auth.arr,移除掉:xmagic-auth-x.x.x.aar 依赖的引入,项目内共享一份美颜特效 SDK 的 License 授权库即可。
2. Gradle 集成
如果您是 Gradle 方式集成的,则参考下面的代码,把 License 授权库移除:
implementation("com.tencent.mediacloud:TCEffectPlayer:版本号") {exclude group: "com.tencent.mediacloud", module: "TCXMagicAuth"}
如何处理加密视频配置?
如果您在使用 TepTools 工具转换动画时,勾选了:Anim Encrypt 开关,那么转换出来的动画则是加密的,此时在使用特效播放器播放时,如果您的应用targetSDKVersion 大于或等于28,那么需要单独进行如下配置:
1. 在项目新建 res/xml/network_security_config.xml 文件,设置网络安全性配置:
<?xml version="1.0" encoding="utf-8"?><network-security-config><domain-config cleartextTrafficPermitted="true"><domain includeSubdomains="true">localhost</domain><domain includeSubdomains="true">127.0.0.1</domain></domain-config></network-security-config>
2. 在 AndroidManifest.xml 文件下的 application 标签增加以下属性:
<?xml version="1.0" encoding="utf-8"?><manifest ... ><application android:networkSecurityConfig="@xml/network_security_config"... >...</application></manifest>