跳到主要内容
版本:Latest

接口概述

TmkTranslationSDK 对外接口概览。iOS 与 Android 提供对齐的能力,本页按能力域分组列出各接口的用途、参数、返回值与成功判定方式。完整的接入示例与字段细节见 iOS SDK APIAndroid SDK API

如何判断调用成功

同步接口看返回值(Bool / 对象 / 句柄,无异常即成功);异步接口以回调进入成功分支为准(iOS Result.success / Android onSuccess),不能以方法立即返回值判断成败(尤其建房接口)。

iOS

生命周期与鉴权

接口说明传入参数返回值如何判断调用成功
sdkVersion获取 SDK 版本号String(如 1.2.0返回非空版本字符串
sdkInit(_ config:)初始化全局配置config: TmkTranslationGlobalConfig(appId/secret、在线鉴权上下文、日志、诊断、网络环境、自定义地址、networkTimeout无异常返回(仅保存配置,不触发鉴权)
verifyAuth(_ callback:)在线/离线鉴权callback: AuthCallback回调进入 .success(())(仅由在线鉴权结果决定)
releaseChannel()会话级释放同步返回(停通道、取消建房、异步关在线房间;不清空全局配置与鉴权)
destroy()全局释放同步返回(清空鉴权与配置;后续须重新 sdkInit

语言列表

接口说明传入参数返回值如何判断调用成功
isOfflineTranslationSupported()查询是否支持离线Bool返回 true(建议鉴权成功后调用)
getOnlineSupportedLanguages(version:_:) / getOfflineSupportedLanguages(version:_:)获取在线/离线支持语言列表version: String?callbackTmkSDKCancellable?回调进入 .success(TmkLocaleListResponse)

在线房间

接口说明传入参数返回值如何判断调用成功
createTmkTranslationRoom(config:_:)创建在线房间config: TmkTranslationRoomConfig(源/目标语言、scenario、roomId?、channelScenario、messageTunnel、speakers?、translateEngine、dialogConversationAudioMode)、callback无(勿用立即返回值回调进入 .success(TmkTranslationRoom)
room.closeRoom(completion:)关闭在线房间completionTmkSDKCancellable?回调进入 .success(())
room.updateRoomLocale(sourceLocales:targetLocales:completion:)运行中切换房间语言sourceLocales:[String]targetLocales:[String]completionTmkSDKCancellable?回调进入 .success(())
room.updateTranslateEngine(_:completion:)运行中切换在线翻译引擎engine: .automatic/.fast/.accuratecompletionTmkSDKCancellable?回调进入 .success(())
room.updateScenario(_:completion:)运行中切换房间能力scenario: .recognize/.toText/.toSpeechcompletionTmkSDKCancellable?回调进入 .success(())

通道

接口说明传入参数返回值如何判断调用成功
createTranslationChannel(_:callback:) / (_:listener:callback:)创建并自动启动通道(在线/离线统一入口)config: TmkTranslationChannelConfig(room、mode、scenario、源/目标语言、采样率、声道数、播放模式、音色、模型目录、translateModecapabilityTier 等)、可选 listenercallback回调进入 .success(TmkTranslationChannel)
channel.pushStreamAudioData(_:channelCount:extraChunk:)推送 PCM 音频data(16bit LE PCM)、channelCount(1 单/2 双)、extraChunk(一般 nil);另有按 speakerChannel 推流重载无异常返回(未 start/状态不允许时被忽略)
channel.release() / channel.createTranslationChannel()通道资源释放 / 重建无异常返回
channel.currentRuntimeState() / getTranslationMode() / getScenario() / getChannelEngineType()通道状态/能力查询状态快照 / 枚举同步返回
channel.setTranslationListener(_:)设置/替换结果监听器listener: TmkTranslationListener同步返回
channel.updateLanguages(sourceLang:targetLang:)运行中更新通道语言(同步,仅更新内部字段,无网络/模型切换)sourceLangtargetLang同步返回
channel.updateLanguages(sourceLang:targetLang:completion:)运行中异步切换通道语言(在线/离线统一入口)。在线:发网络指令,有超时可取消;离线:流式切换,不打断流,不可取消sourceLangtargetLangcompletion: (Result<Void, TmkTranslationError>) -> VoidTmkSDKCancellable?(在线为真句柄,离线为 no-op,通道已释放时 nil)回调进入 .success(())
channel.updateTranslateMode(_:completion:)运行时切换翻译下发模式(partial/stable)。仅离线支持;在线返回 .engineNotSupportedmode: TmkTranslateDeliveryModecompletion回调进入 .success(())
channel.updateScenario(_:completion:)运行时切换能力档位(recognize/toText/toSpeech),在线/离线统一。在线:服务端热切;离线:升档前校验模型就绪,按需加载/卸载 MT/TTSscenario: TmkRoomScenariocompletionTmkSDKCancellable?(在线为真句柄,离线为 no-op)回调进入 .success(())
channel.updateSpeaker(speakers:callback:)运行中更新 TTS 音色speakers:[TmkSpeaker]callbackTmkSDKCancellable?回调进入 .success(())

离线模型管理

接口说明传入参数返回值如何判断调用成功
downloadOfflineModels(srcLang:dstLang:modelRootDirectory:scenario:needMt:needTts:listener:)下载离线模型源/目标语言、模型目录?、scenario、needMt、needTts、listener通过 listener 回调进度/就绪/错误
cancelOfflineModelDownload()取消下载同步返回(listener 回 cancelled 状态)
getOfflineModelPackageInfos(...)查询模型包状态源/目标语言、scenario、needMt、needTts[TmkOfflineModelPackageInfo]同步返回列表
isOfflineModelReady(...)同步检查模型整体就绪源/目标语言、scenario、needMt、needTtsBool返回 true
isAsrModelReady / isMtModelReady / isTtsModelReady / isTtsDataReady单项模型就绪检查语言码 / 源目标语言 / 模型目录?Bool返回 true(语言码按主标签归一 zh-CN→zh)
checkOfflineModelReadyAsync(…, completion:)异步整体就绪检查源/目标语言、scenario、needMt、needTts、callbackQueue、completioncompletion(Bool)true(主线程)
defaultOfflineModelRootDirectory() / …URL()默认模型目录String / URL同步返回(Documents/tmkOfflineModel

诊断、工具与回调数据

接口说明传入参数返回值如何判断调用成功
getDiagnosisDirectoryURL()获取诊断目录URL?返回非 nil(需先 setDiagnosisEnabled(true)
onRecognized extraData 新增字段ASR 回调 result.extraData 中新增 "offset"(纳秒, Int64)和 "duration"(纳秒, Int64),表示本段语音在音频流中的偏移与时长;MT 翻译回调不包含此字段extraData["offset"]/extraData["duration"] 有值(可能为 nil 表示服务端未下发)
TmkTranslationPCMTools.*PCM 工具(混音/拆分/格式转换)PCM/数组数据Data / [Float] / 元组同步返回(拆分失败可能 nil)

Android

生命周期与鉴权

接口说明传入参数返回值如何判断调用成功
sdkVersion获取 SDK 版本号String(如 1.2.0返回非空版本字符串
sdkInit(context, config)初始化全局配置context: Context(建议 ApplicationContext)、config: TmkTransGlobalConfig(appId/secret、在线鉴权上下文、诊断、网络环境、自定义地址、networkTimeoutSeconds无异常返回(仅保存配置,不触发鉴权)
verifyAuth(callback)在线/离线鉴权callback: AuthCallback回调进入 onSuccess()(仅由在线鉴权结果决定)
releaseChannel()会话级释放同步返回(停通道、异步关在线房间;不清空全局配置与鉴权)
destroy()全局释放同步返回(清空鉴权与配置;后续须重新 sdkInit

语言列表

接口说明传入参数返回值如何判断调用成功
isOfflineTranslationSupported()查询是否支持离线Boolean返回 true(建议鉴权成功后调用)
getOnlineSupportedLanguages(version, callback) / getOfflineSupportedLanguages(version, callback)获取在线/离线支持语言列表version: String?callback: TmkLocaleListCallbackCancelable回调进入 onSuccess(TmkLocaleListResponse)

在线房间

接口说明传入参数返回值如何判断调用成功
createTmkTranslationRoom(config, callback)创建在线房间config: TmkTranslationRoomConfig(scenario 必填、源/目标语言、speakers、onlineTranslateEngine、roomScenario、translateMode、dialogConversationAudioMode)、callbackCancelable(回调前可取消)回调进入 onSuccess(TmkTranslationRoom)
room.updateRoomLocale(sourceLocales, targetLocales, callback)运行中切换房间语言sourceLocalestargetLocalescallback回调成功(Result<Unit>);无活动通道返回 INVALID_STATE
room.updateTranslateEngine(engine, callback)运行中切换在线翻译引擎engine: AUTOMATIC/FAST/ACCURATEcallback回调成功(Result<Unit>
room.updateScenario(scenario, callback)运行中切换房间能力scenario: RECOGNIZE/TRANSLATE_SPEECH_TO_TEXT/TRANSLATE_SPEECH_TO_SPEECHcallback回调成功(Result<Unit>

通道

接口说明传入参数返回值如何判断调用成功
createTranslationChannel(context, config, callback) / (…, listener, callback)创建通道(在线/离线统一入口)contextconfig: TmkTransChannelConfigtranslateMode 等)、可选 listenercallback回调进入 onSuccess(TmkTranslationChannel)(三参重载需自行 setTranslationListener+start();四参重载自动启动)
channel.pushStreamAudioData(data, channelCount, extraChunk)推送 PCM 音频data: ByteArray(16bit LE PCM)、channelCount(1 单/2 双)、extraChunk(一般 null)无异常返回(未 start/状态不允许时被忽略)
channel.start() / destroy()启动通道和销毁通道无异常返回(状态以 onStateChanged 为准)
channel.currentRuntimeState() / getTranslationMode() / getScenario() / getChanelEngineType() / getTranslationListener()通道状态/能力查询状态快照 / 枚举 / listener同步返回
channel.setTranslationListener(listener)设置/替换结果监听器listener: TmkTranslationListener同步返回
channel.updateLanguages(sourceLang, targetLang, callback)运行中异步切换通道语言(在线/离线统一入口)。在线:发网络指令,有超时可取消;离线:流式切换,不打断流,不可取消sourceLang: StringtargetLang: Stringcallback: ActionCallbackCancelable(在线为真句柄,离线为 no-op)回调进入 onSuccess(Result<Unit>)
channel.updateTranslateMode(mode)运行时切换翻译下发模式(partial/stable)。仅离线支持,在线静默忽略mode: TmkTranslateDeliveryMode同步返回(离线引擎内部异步切换)
channel.updateScenario(scenario, callback)运行时切换能力档位(RECOGNIZE/TRANSLATE_SPEECH_TO_TEXT/TRANSLATE_SPEECH_TO_SPEECH),在线/离线统一。在线:服务端热切;离线:升档前校验模型就绪,按需加载/卸载 MT/TTSscenario: TmkRoomScenariocallback: ActionCallbackCancelable(在线为真句柄,离线为 no-op)回调进入 onSuccess(Result<Unit>)
channel.updateSpeaker(speakers, callback)运行中更新 TTS 音色speakers: List<TmkSpeaker>callback: ActionCallbackCancelable回调进入 onSuccess(Result<Unit>)

离线模型管理

接口说明传入参数返回值如何判断调用成功
downloadOfflineModels(context, srcLang, dstLang, scenario, needMt, needTts, listener) / downloadChineseEnglishOfflineModels(...)下载离线模型 / 中英双向源/目标语言、scenario、needMt、needTts、listener(多重载,可省 context 或传 modelRootDirectory)通过 listener 回调进度/就绪/错误
cancelOfflineModelDownload()取消下载同步返回(listener 回 cancelled 状态)
getOfflineModelPackageInfos(context, ...)查询模型包状态context、源/目标语言、scenario、needMt、needTtsList<TmkOfflineModelPackageInfo>同步返回列表
isOfflineModelReady(context, ...)同步检查模型整体就绪context、源/目标语言、scenario、needMt、needTtsBoolean返回 true
isAsrModelReady / isMtModelReady / isTtsModelReady / isTtsDataReady单项模型就绪检查语言码 / 源目标语言 / 模型目录?(均有带 context 重载)Boolean返回 true(语言码按主标签归一 zh-CN→zh)
checkOfflineModelReadyAsync(context, …, completion)异步整体就绪检查context、源/目标语言、scenario、needMt、needTts、completioncompletion(Boolean)true(主线程)
defaultOfflineModelRootDirectory() / (context)默认模型目录可选 context(可在 init 前查询)String同步返回

回调数据

接口说明传入参数返回值如何判断调用成功
onRecognized extraData 新增字段ASR 回调 r.extraData 中新增 "offset"(纳秒, Long)和 "duration"(纳秒, Long),表示本段语音偏移与时长;MT 翻译回调不含此字段r.extraData["offset"]/r.extraData["duration"] 有值(可能缺失,表示服务端未下发)