
解决科大讯飞 websockets api 中的持续连接问题
使用科大讯飞的实时语音流式转写 api 时,遇到连接断开错误。这是因为在使用 websockets 协议发送音频数据时,需要遵守特定的数据包格式。具体而言,每个音频片段必须具有 3 种数据包:
头部包(0)表示开始传输数据包(1)包含音频数据尾部包(2)表示结束传输
在代码中,应通过将音频数据分块为这 3 种数据包来解决此问题。可以通过在发送数据之前将音频数据格式化为 json 来实现这一点,如下所示:
import jsoncc = xunfei.read_audio()print("数据:" + json.dumps(cc))# 分割音频数据包header = {"code": 0} # 头部包data = {"code": 1, "data": cc} # 数据包trailer = {"code": 2} # 尾部包await websocket.send(str(json.dumps(header)))await websocket.send(str(json.dumps(data)))await websocket.send(str(json.dumps(trailer)))
通过实施此修改,websockets 连接将保持活动,并且能够成功接收和发送数据。
以上就是科大讯飞Websockets API持续连接断开?如何正确发送音频数据包?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1353663.html
微信扫一扫
支付宝扫一扫