客户端 SDK 常见问题

最近更新时间:2025-05-20 17:42:02

我的收藏

如何查看 TCCC 日志?

TCCC 的日志默认压缩加密,后缀为 .log。
Android 日志路径:/sdcard/Android/data/包名/files/tccc
iOS 日志路径:sandbox/Documents/tccc

TCCC Agent Android 端能不能支持模拟器?

TCCC 目前版本暂时不支持,未来会支持模拟器。

Android 退后台停止音频采集

Andorid 9.0系统对 App 退后台的麦克风做了限制,为防止通话的时候程序退后台引起的通话被静音问题。请在 App 退后台情况下发送前台通知来防止通话被静音,或参考我们开源的 TCCCCallKit 方案来解决。

如何在项目中同时使用 TCCC 和 TRTC?

如果在项目中同时使用了 TCCC 和 TRTC 编译会报错,因为是 TCCC 也是引入了部分 TRTC 的库,所以需要在编译的时候把共用的部分排除。
Android
iOS
1. 去掉相同的 jar 包,重新生成 tcccswap-release-trtc-fixed.aar 包。
# 1. 先进入 tcccswap-release.aar 所在的文件夹,解压 AAR
mkdir temp && cd temp
unzip ../tcccswap-release.aar -d .
# 2. 删除冲突的 JAR
rm -f libs/liteavsdk.jar
# 3. 重新打包为 AAR
zip -r ../tcccswap-release-trtc-fixed.aar .
cd .. && rm -rf temp
# 4. 删除旧的包
rm tcccswap-release.aar
说明:
编译的时候报 zipxception: only DEFLATED entries can have EXT descriptor 错误,大概由于压缩格式不兼容导致(使用了第三方的压缩软件)。请用上面的命令行来压缩,或者使用 Android Studio 自带的 ZIP 工具。
2. 修改引入的 TRTC 的版本,保证 tccc 和 trtc 同一个版本(如果版本不一致会引发 crash)。如果不确定版本号,请 联系我们
implementation 'com.tencent.liteav:LiteAVSDK_TRTC:12.1.0.14886'
3. 排除 trtc 和 tccc 共用的 so 文件以保证编译通过。 修改 build.gradle 文件,把下面代码添加到 android 节点下:
packagingOptions {
pickFirst "lib/arm64-v8a/libliteavsdk.so"
pickFirst "lib/arm64-v8a/libtxffmpeg.so"
pickFirst "lib/arm64-v8a/libtxsoundtouch.so"

pickFirst "lib/armeabi-v7a/libliteavsdk.so"
pickFirst "lib/armeabi-v7a/libtxffmpeg.so"
pickFirst "lib/armeabi-v7a/libtxsoundtouch.so"
}
建议手动引入 TCCC SDK,请不要用 CocoaPods 的方式引入,具体操作方法请参见 集成 SDK - 方案2:手动下载。也请不要添加 txsoundtouch.xcframeworktxffmpeg.xcframework。

在 iOS 下回调是否都在主线程

Swift、OC 接口的所有回调均在主线程,开发者无需特别处理。但 C++ 接口下回调都不在主线程,需要业务层面上判断并且把他转为主线线程:
if ([NSThread isMainThread]) {
// 在主线程,直接可以处理
return;
}
dispatch_async(dispatch_get_main_queue(), ^{
// 回调在非主线程。
});

为什么手机下能不能处理呼入?

如果手机在前台运行的时候有新会话将会收到 onNewSession 回调,但是我们不建议您在手机上处理呼入(App 在切换到后台时会冻结程序),建议您开通手机接听功能。

其他平台如 Windows 有没有对应的 SDK?

TCCC 提供了全平台 SDK,如有需要可 联系我们,我们线下提供。