实时音视频 打断指令(客户端)

客户端可以主动打断 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 个)时打断。
赞 (0)
上一篇 4天前
下一篇 4天前