本文介绍通过 WebSocket 连接访问 Fun-ASR 实时语音识别服务的服务端点、请求头和交互流程。
用户指南:关于模型介绍和选型建议请参见语音识别,示例代码请参见实时语音识别。
DashScope SDK 目前仅支持 Java 和 Python。使用其他编程语言时,可通过 WebSocket 连接与服务进行通信。
服务端点
WebSocket URL 固定如下:
华北2(北京)
wss://dashscope.aliyuncs.com/api-ws/v1/inference
新加坡
wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api-ws/v1/inference
调用时请将WorkspaceId替换为真实的Workspace ID。
新加坡地域的旧版域名 wss://dashscope-intl.aliyuncs.com 即将下线,请及时迁移到新版域名 wss://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com。
URL 必须使用 wss:// 协议,且固定不变。Authorization 在请求头中设置(参见请求头)。
请求头
请求头中需添加如下信息:
|
参数 |
类型 |
是否必选 |
说明 |
|
Authorization |
string |
是 |
鉴权令牌,格式为 |
|
user-agent |
string |
否 |
客户端标识,便于服务端追踪来源。 |
|
X-DashScope-WorkSpace |
string |
否 |
阿里云百炼业务空间ID。 |
|
X-DashScope-DataInspection |
string |
否 |
是否启用数据合规检测功能。默认不传或设为 |
Authorization 鉴权在 WebSocket 握手阶段验证。如果 API Key 无效或缺失,握手将失败并返回 HTTP 401/403 错误。
交互流程
客户端事件和服务端事件的详细说明,请参见客户端事件和服务端事件。
按时间顺序,客户端与服务端的交互流程如下:
-
建立连接:客户端与服务端建立 WebSocket 连接。
-
开启任务:客户端发送 run-task 指令以开启任务,并接收服务端返回的 task-started 事件,标志着任务已成功开启,可以进行后续步骤。
-
发送音频流:客户端开始发送二进制音频(须为单声道音频),并同时接收服务端持续返回的 result-generated 事件,该事件包含语音识别结果。
-
通知服务端结束任务:客户端发送 finish-task 指令通知服务端结束任务,并继续接收服务端返回的 result-generated 事件。
-
任务结束:客户端收到服务端返回的 task-finished 事件,标志着任务结束。
-
关闭连接:客户端关闭 WebSocket 连接。