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

打断指令(客户端)

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

功能概述

客户端可以主动打断 AI 当前的播报:立刻停止正在播放的语音,并清空尚未播放的内容。效果与服务端 ControlVoiceConversation 的 Interrupt 指令相同。

调用方式

连接机器人

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

发起打断

调用 TRTCCloud.callExperimentalAPI:
{
"api": "aiConversation",
"params": {
"command": "interrupt",
"robotid": "ai_bot_001"
}
}
robotid 填当前已连接的 AI 机器人 UserId。
打断成功不回调。失败时通过 TRTCCloudListener.onExperimentalEvent 回调,eventName 为 onAIConversationEvent,params 为:
{
"event": "onCommand",
"robotid": "ai_bot_001",
"command": "interrupt",
"errCode": 1004,
"errMsg": "invalid state"
}
errCode
含义
-2
参数错误,缺少 robotid。
-3
传入的 robotid 与当前连接的机器人不一致。
1001
任务已结束,不再响应。
1002
服务端处理失败,可再次调用。
1003
指令参数非法。
1004
当前状态不允许打断。例如 AI 未在播报、任务已结束、会话尚未开始等状态。

与打断模式的关系

创建任务时,DialogConfig.InterruptMode 决定什么情况下由服务端自动打断。客户端 interrupt 和服务端 ControlVoiceConversation 的 Interrupt 都是主动强制打断,不受该模式限制。
InterruptMode
说明
0(默认)
自动打断。识别到用户说话即打断当前播报,最短语音时长由 InterruptSpeechDuration 控制,范围 200~3000 毫秒,默认 200。
1
手动打断。只在收到服务端 Interrupt 或客户端 interrupt 时打断。
2
关键词打断。用户说出 InterruptKeywords 中的词(最多 128 个)时打断。