p命令数据包/p命令响应数据包
p命令数据包和p命令响应数据包是一对概念,但只有在服务器端发生错误时才会返回p命令响应数据包。只要没有收到表示错误发生的p命令响应数据包,客户端就可以根据需要继续通过p命令数据包发送语音数据。
p命令数据包
发送语音数据。
格式
类型 BINARY
p<audio_data>
<audio_data>是在会话开始时通过s命令指定的音频格式的语音数据。在这个语音数据的开头添加0x70('p'的ASCII码),然后以二进制帧发送。
语音识别服务器会依次处理接收到的语音数据,检测语音的开始和结束,并实时返回每个语音段的中间识别结果和最终识别结果。语音识别服务器会继续处理接收到的语音数据并返回结果,直到收到客户端发送的e命令数据包,或者服务器端设置的会话超时发生。
p命令响应数据包
作为对p命令的响应,从服务器发送到客户端。
格式
类型 TEXT
成功时的响应数据包
没有特定的响应表示发送成功。
发送失败时的响应数据包
p <error_message>
如果服务器端在接收p命令时处理失败,会在p后面加一个半角空格,然后 返回错误消息。
错误消息
客户端错误
这是源于客户端的错误。请排除原因后,从s
命令请求重新开始。
错误消息 | 内容 |
---|---|
p received unsupported audio format | 发送的语音数据是不支持的音频格式。请检查s 命令中指定的音频格式,以及通过p 命令发送的数据。 |
由限制导致的错误
当触及限制事项时发生。请从s
命令请求重新开始。
错误消息 | 内容 |
---|---|
p can't feed audio data to recognizer server | 在语音识别服务器不处于接收音频的状态时发送了语音数据。当超过限制事项中的非语音区间强制断开时间时会发生。极少数情况下,也可能由于基础系统的拥堵而发生。 |
p session timeout occurred | 发生了会话超时。当超过限制事项中的会话最大时间时会发生。服务器端已执行断开处理。 |