帮你快速理解、总结文档立即下载

AITranscriberManager

最近更新时间:2026-10-30 14:35:01
我的收藏
Copyright (c) 2026 Tencent. All rights reserved.

Module: AITranscriberManager @ TXLiteAVSDK
Function: AI 实时转录与翻译的相关接口
Version: 13.5

AI 实时转录与翻译管理接口,Flutter SDK:tencent_rtc_sdk。通过 TRTCCloud 的 ​getAITranscriberManager 获取实例后即可调用。
注意:
1. 使用 AI 转录之前,请在控制台 > 功能配置 > 增值功能中开启 AI 智能识别功能(语音转文字、实时翻译)。
2. 详见 相关文档。

函数列表

转录任务

API
描述
开始实时转录。
停止实时转录。

转录消息接收控制

API
描述
暂停接收转录消息。
恢复接收转录消息。

事件回调

API
描述
添加转录事件回调。
移除转录事件回调。

接口详情

以下按函数列表顺序逐一说明各接口的签名、功能、参数、返回值及注意事项。

startRealtimeTranscriber

void startRealtimeTranscriber(TranscriberParams params)
开始实时转录。
调用该接口后,SDK 会启动转录机器人,将房间中指定用户的语音识别为文字,并按需翻译为目标语言。
启动成功后,您会收到 ​AITranscriberListener 中的 ​onRealtimeTranscriberStarted 回调。
转录结果通过 ​onReceiveTranscriberMessage 回调持续抛出。
启动失败时,您会收到 ​onRealtimeTranscriberError 回调。
参数
类型
描述
params
实时转录参数,详见 ​TranscriberParams。
说明:
建议在调用该接口之前先通过 ​addListener 注册回调,否则可能会漏掉启动阶段的事件。

示例代码

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)
停止实时转录。
停止后,您会收到 ​AITranscriberListener 中的 ​onRealtimeTranscriberStopped 回调。
参数
类型
描述
transcriberRobotId
String
转录机器人的唯一 ID,可以通过 ​onRealtimeTranscriberStarted 回调获取。

pauseReceivingMessage

void pauseReceivingMessage()
暂停接收转录消息。

resumeReceivingMessage

void resumeReceivingMessage()
恢复接收转录消息。

addListener

void addListener(AITranscriberListener listener)
添加转录事件回调。
您可以通过 ​AITranscriberListener 获得转录的启动、消息、停止和错误等事件通知。
参数
类型
描述
listener
转录事件回调对象,详见 ​AITranscriberListener。
说明:
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 实时转录的事件回调。
通过 ​addListener 注册,通过 ​removeListener 移除。所有回调都是可选的命名参数,只需传入您关心的回调即可。

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
转录消息,包含识别文本和翻译文本,详见 ​TranscriberMessage。

onRealtimeTranscriberStopped

final void Function(String roomId, String transcriberRobotId, TranscriberStopReason reason)? onRealtimeTranscriberStopped
转录已停止。
参数
类型
描述
roomId
String
停止转录的房间 ID。
transcriberRobotId
String
转录机器人的唯一 ID。
reason
转录停止的原因,详见 ​TranscriberStopReason。

onRealtimeTranscriberError

final void Function(String roomId, String transcriberRobotId, int error, String errorInfo)? onRealtimeTranscriberError
转录发生错误。
参数
类型
描述
roomId
String
发生错误的房间 ID。
transcriberRobotId
String
转录机器人的唯一 ID。
error
int
错误码。
errorInfo
String
错误信息。