科大讯飞 websockets api 出现连接关闭异常
在使用科大讯飞的实时语音流式转写接口时,如果出现 websocket 连接关闭异常,可能是以下原因导致的:
发送数据时缺少必要的帧数据包。根据 api 文档,需要发送 0、1、2 分别代表起始、中间和结束的帧数据包,否则服务器将无法识别数据并关闭连接。
解决方法:
修改发送数据代码,按照 0、1、2 的顺序发送帧数据包。修改后的代码如下:
import json import websockets async def hello(): async with websockets.connect(url) as websocket: cc = xunfei.read_audio() print("数据:" + json.dumps(cc)) await websocket.send(str(json.dumps(cc))) while True: message = await websocket.recv() print(f"收到消息: {json.loads(message)}")