Copyright (c) 2026 Tencent. All rights reserved.
Module: AITranscriberManager @ TXLiteAVSDK
Function: AI 实时转录与翻译的相关接口
Version: 13.5
函数列表
转录任务
API | 描述 |
开始实时转录。 | |
停止实时转录。 |
转录消息接收控制
API | 描述 |
暂停接收转录消息。 | |
恢复接收转录消息。 |
事件回调
API | 描述 |
添加转录事件回调。 | |
移除转录事件回调。 |
接口详情
以下按函数列表顺序逐一说明各接口的签名、功能、参数、返回值及注意事项。
startRealtimeTranscriber
void startRealtimeTranscriber(TranscriberParams params)
开始实时转录。
调用该接口后,SDK 会启动转录机器人,将房间中指定用户的语音识别为文字,并按需翻译为目标语言。
启动成功后,您会收到 AITranscriberListener 中的 onRealtimeTranscriberStarted 回调。
转录结果通过 onReceiveTranscriberMessage 回调持续抛出。
启动失败时,您会收到 onRealtimeTranscriberError 回调。
参数 | 类型 | 描述 |
params |
说明:
示例代码
transcriberManager.addListener(AITranscriberListener(onRealtimeTranscriberStarted: (String roomId, String transcriberRobotId) {debugPrint('转录已启动:$roomId / $transcriberRobotId');},onReceiveTranscriberMessage: (String roomId, TranscriberMessage message) {debugPrint('${message.speakerUserId}: ${message.sourceText}');},));transcriberManager.startRealtimeTranscriber(TranscriberParams(sourceLanguage: 'zh',translationLanguages: ['en', 'ja'],));
stopRealtimeTranscriber
void stopRealtimeTranscriber(String transcriberRobotId)
停止实时转录。
参数 | 类型 | 描述 |
transcriberRobotId | String |
pauseReceivingMessage
void pauseReceivingMessage()
暂停接收转录消息。
resumeReceivingMessage
void resumeReceivingMessage()
恢复接收转录消息。
addListener
void addListener(AITranscriberListener listener)
添加转录事件回调。
参数 | 类型 | 描述 |
listener |
说明:
SDK 支持同时注册多个回调对象,事件会分发给所有已注册的对象;重复注册同一个对象只会生效一次。
removeListener
void removeListener(AITranscriberListener listener)
移除转录事件回调。
参数 | 类型 | 描述 |
listener | 要移除的转录事件回调对象(需与注册时传入的对象一致)。 |
类型定义
TranscriberParams
实时转录参数。
字段 | 类型 | 默认值 | 描述 |
transcriberRobotId | String? | null | 转录机器人的唯一 ID。如果不指定,SDK 会生成默认 ID: transcriber_${roomid}_robot_${userid}。 |
sourceLanguage | String? | null | 源语言代码,例如 zh 表示中文,en 表示英文。 |
userIdsToTranscribe | List<String>? | null | 需要转录的用户 ID 列表。为空时转录房间中的所有用户。 |
translationLanguages | List<String>? | null | 翻译的目标语言代码列表。支持 zh、en、vi、ja、ko、id、th、pt、ar、es、fr、ms、de、it、ru。 |
TranscriberMessage
转录消息结构。
字段 | 类型 | 默认值 | 描述 |
segmentId | String | 必填 | 消息分片的唯一 ID。 |
speakerUserId | String | 必填 | 说话者的用户 ID。 |
sourceText | String | 必填 | 识别出的源语言文本(Unicode 编码)。 |
translationTexts | Map<String, String> | 必填 | 翻译后的文本,按语言代码映射。 |
timestamp | int | 必填 | UTC 时间戳,单位:毫秒。 |
isCompleted | bool | 必填 | 转录是否已完成。 true:整句识别完成;false:中间结果。 |
TranscriberStopReason
转录停止的原因。
枚举值 | 数值 | 描述 |
userStopped | 0 | 用户主动停止转录。 |
roomDismissed | 1 | 房间被后台解散。 |
allUsersLeft | 2 | 所有用户离开房间超过 30 秒。 |
AITranscriberListener
AI 实时转录的事件回调。
onRealtimeTranscriberStarted
final void Function(String roomId, String transcriberRobotId)? onRealtimeTranscriberStarted
转录启动成功。
参数 | 类型 | 描述 |
roomId | String | 启动转录的房间 ID。 |
transcriberRobotId | String | 转录机器人的唯一 ID。 |
onReceiveTranscriberMessage
final void Function(String roomId, TranscriberMessage message)? onReceiveTranscriberMessage
收到转录消息。
参数 | 类型 | 描述 |
roomId | String | 消息来源的房间 ID。 |
message |
onRealtimeTranscriberStopped
final void Function(String roomId, String transcriberRobotId, TranscriberStopReason reason)? onRealtimeTranscriberStopped
转录已停止。
参数 | 类型 | 描述 |
roomId | String | 停止转录的房间 ID。 |
transcriberRobotId | String | 转录机器人的唯一 ID。 |
reason |
onRealtimeTranscriberError
final void Function(String roomId, String transcriberRobotId, int error, String errorInfo)? onRealtimeTranscriberError
转录发生错误。
参数 | 类型 | 描述 |
roomId | String | 发生错误的房间 ID。 |
transcriberRobotId | String | 转录机器人的唯一 ID。 |
error | int | 错误码。 |
errorInfo | String | 错误信息。 |