ws://10.152.116.74:9999/transpond/speech/asr下载保存示例html后,填写AK密钥即可运行测试
| 参数名 | 类型 | 必填 | 示例值 | 出现阶段 | 说明 |
|---|---|---|---|---|---|
ak | string | 是 | "ak_xxxxxx" | 首包 | 平台鉴权密钥 |
id | string | 是 | "xxxx-xxxx-xxxx-xxxx" | 首包、尾包 | 会话唯一ID(需与首包一致) |
finish | boolean | 是 | false(首包)/true(尾包) | 首包、尾包 | 标记是否为结束请求 |
mode | string | 是 | "mixed" | 首包、尾包 | 识别模式:online(实时)/offline(离线)/mixed(混合) |
answer | string | 否 | "你好" | 服务器响应 | 服务器返回的识别结果 |
| 参数名 | 类型 | 必填 | 示例值 | 出现阶段 | 说明 |
|---|---|---|---|---|---|
| 数据格式 | ArrayBuffer | 是 | Int16Array.buffer | 音频传输阶段 | 16位有符号PCM音频 |
| 采样率 | number | 是 | 16000 | 全程 | 固定16kHz采样率(代码硬编码) |
| 声道数 | number | 是 | 1 | 全程 | 单声道 |
| 分片时长 | number | 是 | 0.1(秒) | 音频传输阶段 | 每100ms发送一帧音频 |
id、mode 必须完全一致id 关联同一会话的音频流btnConnect.click → new ASRClient(WS_URL).connect()onopen 回调)btnStart.click → 发送初始化参数{
"ak": "ak_xxxxxxx", // 鉴权密钥
"id": "xxxx-xxxx-xxxx-xxxx", // 会话唯一ID
"finish": false, // 非结束标记
"mode": "mixed" // 混合识别模式
}scriptProcessor.onaudioprocess → 转换并发送音频Int16Array.buffer){
"answer": "实时识别文本", // 部分结果
"finish": false, // 中间结果标记
"mode": "online" // 实时/离线模式
}btnStop.click → 发送结束标记{
"ak": "ak_xxxxxxx", // 与首包一致
"id": "xxxx-xxxx-xxxx-xxxx", // 与首包一致
"finish": true, // 结束标记
"mode": "mixed" // 混合模式
}{
"answer": "完整识别结果",
"finish": true // 结束标记
}btnDisconnect.click → ws.close()ak 和 id 是会话合法性的唯一依据。finish:true 触发服务器最终结果推送。ak、id、mode 需完全一致。