Skip to main content
Version: v1.2.0

iOS SDK 概览

简介

TmkTranslationSDK 用于将业务侧采集的 PCM 音频接入翻译能力,并向业务侧返回:

  • 识别文本

  • 翻译文本

  • 翻译后的 PCM 音频

  • 通道状态与错误信息

  • 诊断日志与离线模型状态

当前 SDK 同时支持:

  • 在线翻译

  • 离线翻译

  • 收听模式(单声道)

  • 一对一模式(双声道)

本文面向外部接入方,重点说明:

  • SDK 初始化与鉴权

  • 在线/离线接入流程

  • 所有公开接口与数据模型

  • 常见使用方式与注意事项


接入前准备

环境要求

项目说明
最低系统版本iOS 15.0+
Swift 版本Swift 5.x
真机架构arm64
模拟器以发布产物包含的 simulator slice 为准
发布产物TmkTranslationSDK.xcframework

权限要求

宿主 App 需要声明麦克风权限:

<key>NSMicrophoneUsageDescription</key>
<string>需要访问麦克风以采集实时语音</string>

如果联调环境使用 HTTP,还需要按实际情况配置 ATS 例外。生产环境建议只使用 HTTPS

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>

安装示例

推荐使用 CocoaPods

pod 'TmkTranslationSDK', '1.2.0'

使用 pod install --repo-update 安装 SDK,并且需要在 Build Setting 中设置 User Script sandboxingNO

如具体发布版本与本文不一致,请以发布说明为准。


核心流程总览

在线翻译

在线模式典型流程:

  1. sdkInit

  2. getOnlineSupportedLanguages(version:_:)

  3. verifyAuth

  4. createTmkTranslationRoom

  5. createTranslationChannel

  6. pushStreamAudioData

  7. releaseChannel

  8. destroy

离线翻译

离线模式典型流程:

  1. sdkInit

  2. getOfflineSupportedLanguages(version:_:)

  3. verifyAuth

  4. isOfflineTranslationSupported

  5. isOfflineModelReadydownloadOfflineModels

  6. createTranslationChannelconfig.mode = .offline

  7. pushStreamAudioData

  8. releaseChannel

  9. destroy

回调线程说明

SDK 对外的大多数异步回调都会切回主线程后再回调业务方,包括:

  • verifyAuth

  • getSupportedLanguages

  • createTmkTranslationRoom

  • createTranslationChannel

  • closeRoom

监听器 TmkTranslationListener 的回调会切回主线程后再回调业务方,可直接用于更新 UI。

离线模型下载监听器 TmkOfflineModelDownloadListener 的回调同样会切回主线程。

在线与离线的主要区别

项目在线翻译离线翻译
是否依赖 verifyAuth建议先鉴权,用于确认离线能力
是否需要房间需要不需要
是否需要离线模型不需要需要
通道创建接口createTranslationChannelcreateTranslationChannel