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

实时字幕(客户端)

最近更新时间:2026-10-29 21:43:33
我的收藏

功能概述

TRTC AI 实时对话 2.0 提供了显示实时字幕的能力。实时字幕通过 TRTC 的自定义消息发送,可以实现与音频对话毫秒级别的同步。
通过 实验性接口事件回调 监听 onAIConversationEvent 回调,在客户端上监听回调来接收实时 AI 字幕的数据。

字幕接收

连接机器人

调用前需已通过 connect 连接该机器人,详细接入方法见:(客户端)接收 AI 机器人状态。

监听字幕

完成连接之后,字幕会通过 onExperimentalEvent 实时回调,eventName 为 onAIConversationEvent。params.event 为 asrSubtitle 时是用户说话的识别结果,为 llmSubtitle 时是机器人的回复文本。

字幕模式

机器人侧字幕的出现时机由创建任务时的 AgentConfig.SubtitleMode 决定。
SubtitleMode
说明
0(默认)
尽快显示。LLM 文本生成后即回调,不与音频播放同步,字幕会先于声音出现。
1
句子级同步。按当前正在播放的句子回调已播报的完整回复文本;当前句播完、开始播下一句时,再更新文本。

ASR 字幕

用户说话的识别结果。text 为这一句截至当前的完整文本,end 为 true 表示该句识别完成。
{
"event": "asrSubtitle",
"robotid": "ai_bot_001",
"data": {
"type": 10100,
"robotid": "ai_bot_001",
"sender": "user_001",
"payload": {
"text": "你好。",
"start_time_ms": 4446039,
"end_time_ms": 4456039,
"start_utc_ms": 1785396254452,
"end_utc_ms": 1785396264452,
"end": false,
"roundid": "D7E2053C-6E1F-4941-9761-FEE0407016EF",
"taskid": "task-id"
}
}
}
字段
类型
说明
event
String
固定为 asrSubtitle。
robotid
String
当前连接的 AI 机器人 UserId。
data.type
Number
消息类型,ASR 字幕为 10100。
data.robotid
String
AI 对话机器人 UserId。
data.sender
String
被识别的用户 UserId。
data.payload.text
String
该句截至当前的完整识别文本。
data.payload.start_time_ms
Number
该句语音在音频流中的起始时间,相对时间,单位毫秒。
data.payload.end_time_ms
Number
该句语音在音频流中的结束时间,相对时间,单位毫秒。
data.payload.start_utc_ms
Number
该句语音起始的 UTC 时间戳,单位毫秒。
data.payload.end_utc_ms
Number
该句语音结束的 UTC 时间戳,单位毫秒。
data.payload.end
Boolean
false 为中间结果,true 为该句识别完成。
data.payload.roundid
String
对话轮次 ID,同一轮的 ASR、LLM 字幕用它关联。
data.payload.taskid
String
AI 对话任务 ID。
说明:
做字幕与音频对齐时,同一路音频流内的句子直接用 start_time_ms 排序对齐即可;需要与业务侧绝对时间(如消息发送时间)对齐时,使用 start_utc_ms。

LLM 字幕

机器人的回复文本。text 为本轮回复截至当前的完整文本,end 为 true 表示本轮回复结束。roundid 与触发本轮回复的 ASR 字幕相同。
{
"event": "llmSubtitle",
"robotid": "ai_bot_001",
"data": {
"type": 10101,
"robotid": "ai_bot_001",
"sender": "tts_bot_001",
"payload": {
"text": "你好,有什么可以帮你的?",
"end": false,
"roundid": "D7E2053C-6E1F-4941-9761-FEE0407016EF",
"taskid": "task-id"
}
}
}
字段
类型
说明
event
String
固定为 llmSubtitle。
robotid
String
当前连接的 AI 机器人 UserId。
data.type
Number
消息类型,LLM 字幕为 10101。
data.robotid
String
AI 对话机器人 UserId。
data.sender
String
对应的 TTS 机器人 UserId。
data.payload.text
String
本轮回复截至当前的完整文本。
data.payload.end
Boolean
false 为中间结果,true 为本轮回复结束。
data.payload.roundid
String
对话轮次 ID,与触发本轮回复的 ASR 字幕相同。
data.payload.taskid
String
AI 对话任务 ID。