Skip to main content
Version: Next

生命周期与工具

资源释放与生命周期

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 中的 sampleRatechannelNum 一致。


诊断能力

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

配置说明
setDiagnosisEnabled(enabled)是否启用 SDK 诊断日志
setDiagnosisConsoleEnabled(enabled)是否同步输出诊断日志到控制台
隐私与脱敏

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