欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 微信小程序之语音识别(附小程序+服务器源码)

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:789

HTML5自适应律师工作室类网

2020-04-04   浏览:654

高端HTML5响应式企业通用网

2020-05-06   浏览:560

html5响应式外贸网站英文版

2020-05-08   浏览:545

HTML5影视传媒文化公司类网

2020-05-12   浏览:543

微信小程序之语音识别(附小程序+服务器源码)

发布时间:2021-01-05  

1、概述通过微信小程序wx.startRecord()和wx.stopRecord()接口录音并上传silk录音文件至服务器,通过ffmpeg将silk录音文件转成wav录音文件,再通过百度语音识别 REST API 获取语音识 ...

 

 

 

1、概述

通过微信小程序wx.startRecord()和wx.stopRecord()接口录音并上传silk录音文件至服务器,通过ffmpeg将silk录音文件转成wav录音文件,再通过百度语音识别 REST API 获取语音识别后的结果。

2、代码实现

录音和语音文件上传 //index.js //开始录音。当主动调用wx.stopRecord, //或者录音超过1分钟时自动结束录音,返回录音文件的临时文件路径。 //当用户离开小程序时,此接口无法调用。 wx.startRecord({ success: function (res) { console.log('录音成功' + JSON.stringify(res)); that.setData({ voiceButtonName: '语音识别', voicePlayButtonName: '开始播放', tempFilePath: res.tempFilePath }) //上传语音文件至服务器 wx.uploadFile({ url: 'https://你的域名/upload', filePath: res.tempFilePath, name: 'file', // header: {}, // 设置请求的 header formData: { 'msg': 'voice' }, // HTTP 请求中其他额外的 form data success: function (res) { // success console.log('begin'); console.log(res.data); var json = JSON.parse(res.data); console.log(json.msg); var jsonMsg = JSON.parse(json.msg); console.log(jsonMsg.result); wx.navigateTo({ url: '../voicePage/voicePage?voiceData=' + jsonMsg.result.join('') }) }, fail: function (err) { // fail console.log(err); }, complete: function () { // complete } }) }, fail: function (res) { //录音失败 that.setData({ voiceButtonName: '语音识别' }) console.log('录音失败' + JSON.stringify(res)); } }) setTimeout(function () { //结束录音 wx.stopRecord() }, 60000)

node.js服务端接收语音文件代码

//upload.js //使用koa-multer这个组件 var multer = require('koa-multer'); var router = require('koa-router')(); var path = require('path'); //存储文件至path.resolve('./voice-file')路径 var upload = multer({ dest: path.resolve('./voice-file')}); router.post('/', upload.single('file'), async function (ctx, next) { //这是就文件的具体信息 console.log(ctx.req.file); });

silk文件转wav文件
我使用的是silk-v3-decoder将silk文件转wav文件

微信小程序之语音识别(附小程序+服务器源码)

silk-v3-decoder 使用方法

//upload.js var exec = require('child_process').exec; function silkToWav(file){ return new Promise(function (resolve, reject) { exec('sh converter.sh ' + file + ' wav', function(err,stdout,stderr){ if(err) { resolve({ result : false, msg : stderr }); } else { //var data = JSON.parse(stdout); console.log(stdout); console.log(stderr); //console.log(err); resolve({ result : true, msg : '' }); } }); }); }

百度语音识别 REST API识别wav文件

1、通过API Key和Secret Key获取的access_token

微信小程序之语音识别(附小程序+服务器源码)