首页 > 微信应用  > 

小程序实现语音识别经验分享

小程序实现语音识别经验分享
​之前写了个工具型微信小程序(Find周边),里面用到了语音识别技术。本文就主要和大家分享小程序实现语音识别经验,希望能帮助到大家。

之前写了个工具型微信小程序(find周边),里面用到了语音识别技术。本文就主要和大家分享小程序实现语音识别经验,希望能帮助到大家。

接口预览  

通过阅读了解科大讯飞接口文档、小程序接口开发文档以及对后端ThinkPhp框架的学习,我整理了如下开发步骤:

注册科大讯飞账号(国人的骄傲,全球领先的语音识别技术)

进入AIUI开放平台在应用管理创建应用并记录APPID和ApiKey

进入应用配置,配置符合自己的情景模式、识别方式和技能

进行小程序开发录制需要识别的音频(下有详述)

后端转码录制的音频(科大讯飞支持pcm、wav),提交给识别接口(下有详述)

小程序接到识别结果进行接下来业务

音频录制接口

wx.startRecord()和wx.stopRecord()

wx.startRecord()和wx.stopRecord()接口也可以满足需求,但从1.6.0 版本开始不再被微信团队维护。建议使用能力更强的 wx.getRecorderManager 接口。该接口获取到的音频格式为silk。  silk是webm格式通过base64编码后的结果,我们解码后需要将webm转换成pcm、wav

wx.getRecorderManager()

相对wx.startRecord()接口,该接口提供的能力更为强大(详情),可以暂停录音也可以继续录音,根据自己需求设置编码码率,录音通道数,采样率。最让人开心的是可以指定音频格式,有效值 aac/mp3。不好的是wx.getRecorderManager()在1.6.0才开始被支持。当然如果你要兼容低端微信用户需要使用wx.startRecord()做兼容处理。

事件监听细节

// wxjs:const recorderManager = wx.getRecorderManager()recorderManager.onStart(() =&gt; {    //开始录制的回调方法})//录音停止函数recorderManager.onStop((res) =&gt; {  const { tempFilePath } = res;  //上传录制的音频  wx.uploadFile({    url: app.d.hostUrl + '/Api/Index/wxupload', //仅为示例,非真实的接口地址    filePath: tempFilePath,    name: 'viceo',    success: function (res) {        console.log(res);    }  })})Page({    //按下按钮--录音  startHandel: function () {    console.log("开始")    recorderManager.start({      duration: 10000    })  },  //松开按钮  endHandle: function () {    console.log("结束")    //触发录音停止    recorderManager.stop()  }})//wxml:<view>    <text>{{text}}</text></view>

小程序实现语音识别经验分享由讯客互联微信应用栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“小程序实现语音识别经验分享