在流式音频输入驱动和需要获取数智人播报状态这两种场景下,需使用此接口建立 websocket 长链接。
1)调用协议
WebSocket + JSON
WSS /v2/ws/ivh/streammanager/streamservice/commandchannel
Header Content-Type: application/json;charset=utf-8
2)建连方式
wss://domin/v2/ws/ivh/streammanager/streamservice/commandchannel?appkey=xxx&requestid=m123×tamp=xxx&signature=xxx
说明:
域名与 HTTP 协议的域名保持一致,都为
gw.tvs.qq.com
3)服务端主动推送参数
名称 | 类型 | 必选 | 描述 |
Type | int | 是 | 返回的数据类型。 1:输入文本。 2:播报内容。 3:播报状态。 5:风险控制提示。 7:由于当前播报句不可打断而被遗弃输入文本 |
SessionId | String | 是 | 视频流会话的唯一标识 |
Text | String | 否 | 当 Type 为1、2、7时有此字段。输入文本/播报文本 |
TextPro | String | 否 | 当 Type 为2时有此字段。用于播报的文本内容,包含 ssml 标签等 |
TextDisplay | String | 否 | 当 Type 为2时有此字段。用于展示在端上的文本内容。 |
Uninterrupt | bool | 否 | 当 Type 为2时有此字段。当前播报句是否可打断。true:不可打断,false:可打断。 |
Muted | bool | 否 | 当 Type 为2时有此字段。播报当前句时是否关闭收音。true:关闭,false:不关闭。 |
SpeakStatus | String | 否 | 当 Type 为3时有此字段。数智人状态。speak_start:正在播报,speak_over:静默中。 |
SpeechId | int | 否 | 当 Type 为2、3、5时有此字段。数智人播报的内容 id,第一次播报为1,后续每次播报+1。 |
InteractionType | String | 否 | 当 Type 为2时有此字段。特殊消息类型,可于配置平台自定义,常见类型有:弹窗、图片等。 |
InteractionContent | String | 否 | 当 Type 为2时有此字段。特殊消息内容,用于下发弹窗、图片等非文本类的特殊消息。 |
ChatStatus | int | 否 | 当 Type 为2时有此字段。当此字段为4时,代表对话剧本结束。其他值为正常对话中状态。 |
InterruptResult | int | 否 | 当 Type 为1时有此字段。仅在请求参数 Interrup 为 true 时需要关注此字段。1 - 成功,2 - 失败。 |
InterruptMessage | String | 否 | 当 Type 为1时有此字段。仅在请求参数 Interrup 为 true 且打断失败时需要关注此字段。打断失败的原因。 |