腾讯AI语音识别API踩坑记录

腾讯AI语音识别API踩坑记录

介绍

以前不习惯“踩坑”这个词,现在也不习惯。不过看大家都在用,我也用一下试试。

腾讯AI语音识别分为三个版本,分别是ECHO流式微信专用流式。前两个比较好理解,为什么还有一个微信专用流式呢?这是因为微信小程序中录音API录制的音频格式只能是压缩过的mp3/ogg格式,而一般语音识别API都只识别一些非压缩格式,比如WAV,PCM等等。所以腾讯另外添加了微信专用流式

一般来讲,像这种第三方API调用都比较简单,把需要传递的参数加上APP_KEY和APP_ID一并给服务器传递过去,就可以得到相应的返回数据。而腾讯AI语音识别API需要额外的接口鉴权,鉴权正确了才会返回正确结果。

接口鉴权

接口鉴权通俗讲就是把所有的参数按照一定顺序排列然后做一个MD5计算,把计算结果当成一个参数传递给服务器,服务器在接收到请求时也会计算一下MD5值,与客户端传递过来的MD5值进行匹配,如果值一致就进一步处理,如果不一致则报鉴权失败的错误{ret: 16388, msg: "sign invalid", data: {…}}

接口鉴权官方介绍里提供了PHP语言的DEMO,如果需要用JS版本的,可以看这里我封装的一个DEMO,该DEMO确认可行的。

对于接口鉴权需要额外补充的是如果调用API时传递了一个参数,且该参数参与了接口鉴权的MD5计算,那么服务器也会报一个sign invalid的错误,原因是服务器在接口鉴权时只会使用会用到的参数,你多传递的参数只有在客户端参与了MD5计算,而服务器上没有使用这个参数进行计算,从而导致计算出的MD5值不一样。多传参数时并不会报错,这是一个小坑。

这里把参数整理方便对比:

echo流式版流式版(WeChat AI)
app_idapp_idapp_id
formatformatformat
rateraterate
--bits
-seqseq
-lenlen
-endend
-speech_idspeech_id
speechspeech_chunkspeech_chunk
--cont_res
time_stamptime_stamptime_stamp
nonce_strnonce_strnonce_str
signsignsign
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

袁保康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值