Copyright (c) 2025 Tencent. All rights reserved.
Module: AI 实时转录和翻译的管理类
Function: 用于对 AI 实时转录和翻译功能进行设置的管理类
AITranscriberManager
AITranscriberListener
函数列表 | 描述 |
实时转录开启成功的回调。 | |
收到实时转录消息的回调。 | |
实时转录停止的回调。 | |
实时转录出错的回调。 |
AITranscriberManager
函数列表 | 描述 |
启动实时转录任务。 | |
停止实时转录。 | |
暂停接收转录消息。 | |
恢复接收转录消息。 | |
设置事件回调。 | |
移除事件回调。 |
结构体类型
函数列表 | 描述 |
翻译文本信息的结构体。 | |
实时转录的配置参数。 | |
实时转录的消息结构体。 |
onRealtimeTranscriberStarted
onRealtimeTranscriberStarted
void onRealtimeTranscriberStarted | (const char* roomId |
| const char* transcriberRobotId) |
实时转录开启成功的回调。
当您调用 startRealtimeTranscriber 成功开启转录任务后,会收到此回调。
参数 | 描述 |
roomId | 房间 ID。 |
transcriberRobotId | 转录机器人 ID。 |
onReceiveTranscriberMessage
onReceiveTranscriberMessage
void onReceiveTranscriberMessage | (const char* roomId |
|
收到实时转录消息的回调。
转录服务会将识别到的文字和翻译结果通过此回调实时推送给您。
参数 | 描述 |
message | |
roomId | 房间 ID。 |
onRealtimeTranscriberStopped
onRealtimeTranscriberStopped
void onRealtimeTranscriberStopped | (const char* roomId |
| const char* transcriberRobotId |
| int reason) |
实时转录停止的回调。
当实时转录任务被停止时,会收到此回调。
参数 | 描述 |
reason | 原因。 0: 用户主动停止转录任务。 1: 房间被后台解散。 2: 参与转录的用户均已离开房间超过 30 秒,转录任务自动结束。 |
roomId | 房间 ID。 |
transcriberRobotId | 转录机器人 ID。 |
onRealtimeTranscriberError
onRealtimeTranscriberError
void onRealtimeTranscriberError | (const char* roomId |
| const char* transcriberRobotId |
| int error |
| const char* errorInfo) |
实时转录出错的回调。
当实时转录服务发生错误时,会收到此回调。
参数 | 描述 |
error | 错误码。 |
errorInfo | 具体错误信息。 当 error 返回 ERR_SERVER_PROCESS_FAILED 时,表示服务器处理请求失败。具体错误码及建议处理措施如下: 2000: 参数错误。建议检查请求参数是否合法。 2002: 任务不存在。若是调用 stop 接口时返回,可忽略。 2026: 转录服务(ASR/翻译服务)未开通。请前往控制台开通相关服务。 3000: 内部错误。建议重试。 4003: 任务正在退出。若是调用 stop 接口时返回,可忽略。 5000: 资源过载。建议采用退避策略重试。 5001: 并发受限。请联系产品侧提升并发限制。 -102009: 主播不在房间内。建议确认主播状态后延迟重试。 -102005: 房间不存在。建议确认房间状态后延迟重试。 |
roomId | 房间 ID。 |
transcriberRobotId | 转录机器人 ID。 |
startRealtimeTranscriber
startRealtimeTranscriber
void startRealtimeTranscriber |
启动实时转录任务。
参数 | 描述 |
params |
注意
1. 调用该接口前,您需要前往“控制台->功能配置->增值功能”开启 AI 智能识别的语音转文字、实时翻译功能。详情请参见 开通服务
2. 该接口支持覆盖调用。若您需在转录过程中更新参数,则可以直接调用该接口覆盖之前同一个转录机器人的转录任务。
3. 启动转录任务成功后,如您需要停止转录任务则必须由发起者通过 stopRealtimeTranscriber 接口停止,房间内其他人无法停止任务。另外当发起者离开房间后,转录任务不会自动停止,需参与转录的用户均已离开房间超过 30 秒,转录任务将自动结束。
4. 如果您需发起者重进房后停止转录,我们推荐重新调用 startRealtimeTranscriber 接口覆盖转录任务后再停止转录任务。
stopRealtimeTranscriber
stopRealtimeTranscriber
void stopRealtimeTranscriber | (const char* transcriberRobotId) |
停止实时转录。
停止 AI 实时转录任务。
参数 | 描述 |
transcriberRobotId | 转录机器人 ID。 |
注意
若在开启转录时未指定机器人 ID,则停止时可传入空字符串。
pauseReceivingMessage
pauseReceivingMessage
暂停接收转录消息。
暂停接收后,SDK 将不再分发转录消息回调,但后台的转录任务依然正常进行,SDK 也会继续拉取转录数据。
resumeReceivingMessage
resumeReceivingMessage
恢复接收转录消息。
恢复接收后,SDK 将继续分发转录消息回调。
addListener
addListener
void addListener |
设置事件回调。
用于接收实时转录和翻译的事件通知。
当房间内其他用户已经开启转录任务时,您只需设置事件回调即可接收到实时转录与翻译消息。
参数 | 描述 |
listener | 转录事件监听器。 |
removeListener
removeListener
void removeListener |
移除事件回调。
当所有监听器都被移除后,SDK 会停止接收转录通知。
参数 | 描述 |
listener | 转录事件监听器。 |
TranslationText
TranslationText
翻译文本信息的结构体。
该结构体用于存储翻译的目标语言代码及其对应的翻译文本。
枚举类型 | 描述 |
language | 目标语言的代码。 支持的语言代码如下: “zh”(中文) “en”(英语) “vi”(越南语) “ja”(日语) “ko”(韩语) “id”(印度尼西亚语) “th”(泰语) “pt”(葡萄牙语) “ar”(阿拉伯语) “es”(西班牙语) “fr”(法语) “ms”(马来语) “de”(德语) “it”(意大利语) “ru”(俄语) |
translationText | 翻译文本。 该文本使用 Unicode 编码。 |
TranscriberParams
TranscriberParams
实时转录的配置参数。
枚举类型 | 描述 |
sourceLanguage | 源语言的代码。 指定源音频的语言种类。请填写标准的语言代码(如“zh”),而不是语言名称(如“中文”)。 支持的语言如下(如需其他语种支持可以联系我们): “zh”(中文) “en”(英语) “zh-yue”(中国粤语) “vi”(越南语) “ja”(日语) “ko”(韩语) “id”(印度尼西亚语) “th”(泰语) “pt”(葡萄牙语) “tr”(土耳其语) “ar”(阿拉伯语) “es”(西班牙语) “hi”(印地语) “fr”(法语) “ms”(马来语) “fil”(菲律宾语) “de”(德语) “it”(意大利语) “ru”(俄语) “sv”(瑞典语) “da”(丹麦语) “no”(挪威语) |
transcriberRobotId | 转录机器人的唯一标识 ID。 如果您不指定该字段,SDK 会默认生成一个 ID,格式为“transcriber_${roomid}_robot_${userid}”。 |
translationLanguages | 翻译的目标语言代码列表。 如果您需要将转录结果翻译成其他语言,请在此设置目标语言的代码。 支持的语言如下(如需其他语种支持可以联系我们): “zh”(中文) “en”(英语) “vi”(越南语) “ja”(日语) “ko”(韩语) “id”(印度尼西亚语) “th”(泰语) “pt”(葡萄牙语) “ar”(阿拉伯语) “es”(西班牙语) “fr”(法语) “ms”(马来语) “de”(德语) “it”(意大利语) “ru”(俄语) |
translationLanguagesCount | 翻译目标语言代码列表的数量。 |
userIdsToTranscribe | 需要进行转录的用户 ID 列表。 如果不填,默认转录房间内所有用户的音频。 |
userIdsToTranscribeCount | 需要转录的用户 ID 列表的数量。 |
TranscriberMessage
TranscriberMessage
实时转录的消息结构体。
SDK 通过此结构体将转录出的文本和翻译结果回调给您。
枚举类型 | 描述 |
isCompleted | 转录是否结束。 true 表示该句话已说完,false 表示该句话还在进行中(中间结果)。 |
segmentId | 消息段的唯一标识 ID。 |
sourceText | 识别出的源语言文本。 该文本使用 Unicode 编码。 |
speakerUserId | 说话用户的 ID。 |
timestamp | 消息生成的 UTC 时间戳,单位:毫秒。 |
translationTexts | 翻译后的目标语言文本列表。 |
translationTextsCount | 翻译文本数量。 |