跳到主要内容
版本:v1.2.8

生命周期与工具

资源释放与生命周期​

TmkTranslationChannel.destroy()​

停止通道、释放底层资源、清除 listener,并从全局通道集合中移除。该方法只作用于单个通道对象;页面退出、切换模式、切换房间或切换语言对时,建议使用 TmkTranslationSDK.releaseChannel() 作为会话级释放入口。

TmkTranslationSDK.releaseChannel()​

释放当前翻译通道和当前会话相关资源:

fun releaseChannel()

行为说明:

  • 停止并销毁当前通道,清空当前房间引用。

  • 如果当前在线房间已创建成功,SDK 会异步调用关房流程,避免服务端遗留预建房间。

  • 不会清空 sdkInit(context, config) 的全局配置,也不会清空鉴权状态。

  • 释放后可以直接重新创建房间与通道。

建议
  • 页面退出、切换模式、切换房间或切换语言对时,优先调用 TmkTranslationSDK.releaseChannel()。
  • 调用 releaseChannel() 后,业务侧不需要再对同一房间重复触发关房。

TmkTranslationSDK.destroy()​

释放 SDK 全局资源:

fun destroy()

行为说明:

  • 销毁当前所有 TmkTranslationChannel。

  • 释放在线共享资源和埋点会话。

  • 清空全局配置并重置初始化状态。

  • 后续如需继续使用,必须重新调用 sdkInit(context, config) 和 verifyAuth(callback)。


可取消请求句柄​

Cancelable​

updateSpeaker(...) 返回 Cancelable:

interface Cancelable {
val isCanceled: Boolean
fun cancel()
}

取消只影响尚未执行或尚未回调的任务,已生效的音色设置不会回滚。REQUEST_CANCELLED 属于主动取消类错误,业务侧不应弹 fatal 错误框。


PCM 工具与音频要求​

SDK 接收业务侧推送的 PCM:

  • 格式:16-bit little-endian PCM

  • 推荐采样率:16000

  • 收听模式:单声道

  • 一对一模式:双声道交织数据

  • 推荐帧长:约 20ms

业务侧需要保证录音器输出与 TmkTransChannelConfig 中的 sampleRate、channelNum 一致。


诊断能力​

Android 当前通过 TmkTransGlobalConfig 的诊断开关控制日志:

配置说明
setDiagnosisConsoleEnabled(enabled)是否同步输出诊断日志到控制台

诊断目录与导出​

目录说明
files/sdk_diagnosisSDK 诊断根目录,位于应用私有目录。
files/sdk_diagnosis/AgoraAgora RTC 与 RTM 日志目录。
  • 关闭诊断日志时,SDK 不采集诊断日志,也不采集 Agora RTC/RTM 日志。

  • Android 的诊断目录属于应用私有目录,不能依赖文件管理器直接访问。

  • 如需导出,业务应使用 SDK 返回的诊断目录自行打包并分享。

隐私与脱敏

诊断日志可用于排查鉴权、建房、建通道、离线模型、在线 RTC/RTM 和离线 pipeline 问题。上传诊断日志前需要完成用户授权、脱敏和访问控制,不应记录或上传原始 License、clientSecret、设备私钥或完整用户隐私数据。