通过查询阿里官方文档,《实时语音识别》需要通过服务器中转实现,这里希望简单一点,直接客户端搞定,然后确定使用《一句话识别》中的RESTful API的方式。
实现语音识别分以下几个步骤:
1、小程序录音生成临时录音文件(阿里识别要求pcm编码);
音频格式:PCM编码、16bit采样位数、单声道(mono)。
音频采样率:8000Hz/16000Hz。
//参数
format: 音频编码格式。支持格式:PCM/OPUS。默认:PCM。
2、连接阿里服务器,把录音文件作为请求参数,返回识别的文字;
3、清除临时文件。
实现
1、生成录音文件
首先想到的是wx.startRecord,但是测试发现生成的是silk文件,还需要转换,放弃。
然后微信还提供了另一个录音的api:wx.getRecorderManager(),支持直接录制pcm格式
于是:
/**
* 开始录音
*/
_startRecord(){
console.log(TAG_NAME, '_startRecord')
const options = {
duration: 60000, //指定录音的时长,单位 ms,最大为10分钟(600000)