微信小程序如何编写WebSocket实时语音识别的代码实现?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1047个文字,预计阅读时间需要5分钟。
在近期的研究中,百度的实时语音识别技术取得了显著进展,并已应用于微信小程序中。以下是一篇简短的文章分享这一成果。
百度实时语音识别应用于微信小程序
随着技术的不断发展,百度的实时语音识别技术已经成熟,并成功应用于微信小程序中。本文将简要介绍这一技术的应用效果、前置条件、申请步骤以及如何创建和设置小程序录音功能。
效果展示
百度实时语音识别技术在小程序中的应用效果显著,能够实现快速、准确的语音转文字功能,为用户提供便捷的交互体验。
前置条件
1. 申请百度AI开放平台账号。
2.获取百度实时语音识别API key。
3.了解百度AI接入指南。
申请步骤
1. 登录百度AI开放平台(https://ai.baidu.com/)。
2.创建应用,获取API key。
3.在小程序后台配置API key。
百度AI接入指南
1. 在小程序项目中引入百度AI SDK。
2.配置SDK参数,包括API key等。
3.调用SDK接口进行语音识别。
创建小程序
1. 使用微信开发者工具创建小程序项目。
2.添加录音页面,引入百度AI SDK。
3.配置录音页面,实现语音识别功能。
设置小程序录音
1. 在录音页面中,调用SDK接口进行录音。
2.录音完成后,调用语音识别接口进行识别。
3.将识别结果展示在页面上。
通过以上步骤,您可以将百度的实时语音识别技术应用于微信小程序中,为用户提供便捷的语音交互体验。
之前在研究百度的实时语音识别,并应用到了微信小程序中,写篇文章分享一下。
先看看完成的效果吧
前置条件
申请百度实时语音识别key 百度AI接入指南
创建小程序
设置小程序录音参数
在index.js中输入
const recorderManager = wx.getRecorderManager() const recorderConfig = { duration: 600000, frameSize: 5, //指定当录音大小达到5KB时触发onFrameRecorded format: 'PCM', //文档中没写这个参数也可以触发onFrameRecorded的回调,不过楼主亲测可以使用 sampleRate: 16000, encodeBitRate: 96000, numberOfChannels: 1 }
使用websocket连接
linkSocket() { let _this = this //这里的sn是百度实时语音用于排查日志,这里我图方便就用时间戳了 let sn = new Date().getTime() wx.showLoading({ title: '识别中...' }) recorderManager.start(recorderConfig) //开启链接 wx.connectSocket({ url: 'wss://vop.baidu.com/realtime_asr?sn=' + sn, protocols: ['websocket'], success() { console.log('连接成功') _this.initEventHandle() } }) }, //监听websocket返回的数据 initEventHandle() { let _this = this wx.onSocketMessage((res) => { let result = JSON.parse(res.data.replace('\n','')) if(result.type == 'MID_TEXT'){ _this.tran(result.result, 'value') _this.setData({ textDis: 'none', value: result.result, }) } if(result.type == 'FIN_TEXT'){ let value = _this.data.text let tranStr = value + result.result _this.tran(tranStr, 'text') _this.setData({ value: '', valueEn: '', textDis: 'block', text: tranStr, }) } }) wx.onSocketOpen(() => //发送数据帧 _this.wsStart() console.log('WebSocket连接打开') }) wx.onSocketError(function (res) { console.log('WebSocket连接打开失败') }) wx.onSocketClose(function (res) { console.log('WebSocket 已关闭!') }) },
发送开始、音频数据、结束帧
wsStart() { let config = { type: "START", data: { appid: XXXXXXXXX,//百度实时语音识别appid appkey: "XXXXXXXXXXXXXXXXXX",//百度实时语音识别key dev_pid: 15372, cuid: "cuid-1", format: "pcm", sample: 16000 } } wx.sendSocketMessage({ data:JSON.stringify(config), success(res){ console.log('发送开始帧成功') } }) }, wsSend(data){ wx.sendSocketMessage({ data:data, success(res){ console.log('发送数据帧成功') } }) }, wsStop(){ let _this = this this.setData({ click: true, }) _this.stop() let config = { type: "FINISH" } wx.hideLoading() recorderManager.stop() wx.sendSocketMessage({ data:JSON.stringify(config), success(res){ console.log('发送结束帧成功') } }) },
小程序录音回调
onShow: function () { let _this = this recorderManager.onFrameRecorded(function (res){ let data = res.frameBuffer _this.wsSend(data) }) recorderManager.onInterruptionBegin(function (res){ console.log('录音中断') _this.wsStopForAcc() }) recorderManager.onStop(function (res){ console.log('录音停止') }) },
到此这篇关于微信小程序通过websocket实时语音识别的实现代码的文章就介绍到这了,更多相关微信小程序websocket实时语音识别内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!
本文共计1047个文字,预计阅读时间需要5分钟。
在近期的研究中,百度的实时语音识别技术取得了显著进展,并已应用于微信小程序中。以下是一篇简短的文章分享这一成果。
百度实时语音识别应用于微信小程序
随着技术的不断发展,百度的实时语音识别技术已经成熟,并成功应用于微信小程序中。本文将简要介绍这一技术的应用效果、前置条件、申请步骤以及如何创建和设置小程序录音功能。
效果展示
百度实时语音识别技术在小程序中的应用效果显著,能够实现快速、准确的语音转文字功能,为用户提供便捷的交互体验。
前置条件
1. 申请百度AI开放平台账号。
2.获取百度实时语音识别API key。
3.了解百度AI接入指南。
申请步骤
1. 登录百度AI开放平台(https://ai.baidu.com/)。
2.创建应用,获取API key。
3.在小程序后台配置API key。
百度AI接入指南
1. 在小程序项目中引入百度AI SDK。
2.配置SDK参数,包括API key等。
3.调用SDK接口进行语音识别。
创建小程序
1. 使用微信开发者工具创建小程序项目。
2.添加录音页面,引入百度AI SDK。
3.配置录音页面,实现语音识别功能。
设置小程序录音
1. 在录音页面中,调用SDK接口进行录音。
2.录音完成后,调用语音识别接口进行识别。
3.将识别结果展示在页面上。
通过以上步骤,您可以将百度的实时语音识别技术应用于微信小程序中,为用户提供便捷的语音交互体验。
之前在研究百度的实时语音识别,并应用到了微信小程序中,写篇文章分享一下。
先看看完成的效果吧
前置条件
申请百度实时语音识别key 百度AI接入指南
创建小程序
设置小程序录音参数
在index.js中输入
const recorderManager = wx.getRecorderManager() const recorderConfig = { duration: 600000, frameSize: 5, //指定当录音大小达到5KB时触发onFrameRecorded format: 'PCM', //文档中没写这个参数也可以触发onFrameRecorded的回调,不过楼主亲测可以使用 sampleRate: 16000, encodeBitRate: 96000, numberOfChannels: 1 }
使用websocket连接
linkSocket() { let _this = this //这里的sn是百度实时语音用于排查日志,这里我图方便就用时间戳了 let sn = new Date().getTime() wx.showLoading({ title: '识别中...' }) recorderManager.start(recorderConfig) //开启链接 wx.connectSocket({ url: 'wss://vop.baidu.com/realtime_asr?sn=' + sn, protocols: ['websocket'], success() { console.log('连接成功') _this.initEventHandle() } }) }, //监听websocket返回的数据 initEventHandle() { let _this = this wx.onSocketMessage((res) => { let result = JSON.parse(res.data.replace('\n','')) if(result.type == 'MID_TEXT'){ _this.tran(result.result, 'value') _this.setData({ textDis: 'none', value: result.result, }) } if(result.type == 'FIN_TEXT'){ let value = _this.data.text let tranStr = value + result.result _this.tran(tranStr, 'text') _this.setData({ value: '', valueEn: '', textDis: 'block', text: tranStr, }) } }) wx.onSocketOpen(() => //发送数据帧 _this.wsStart() console.log('WebSocket连接打开') }) wx.onSocketError(function (res) { console.log('WebSocket连接打开失败') }) wx.onSocketClose(function (res) { console.log('WebSocket 已关闭!') }) },
发送开始、音频数据、结束帧
wsStart() { let config = { type: "START", data: { appid: XXXXXXXXX,//百度实时语音识别appid appkey: "XXXXXXXXXXXXXXXXXX",//百度实时语音识别key dev_pid: 15372, cuid: "cuid-1", format: "pcm", sample: 16000 } } wx.sendSocketMessage({ data:JSON.stringify(config), success(res){ console.log('发送开始帧成功') } }) }, wsSend(data){ wx.sendSocketMessage({ data:data, success(res){ console.log('发送数据帧成功') } }) }, wsStop(){ let _this = this this.setData({ click: true, }) _this.stop() let config = { type: "FINISH" } wx.hideLoading() recorderManager.stop() wx.sendSocketMessage({ data:JSON.stringify(config), success(res){ console.log('发送结束帧成功') } }) },
小程序录音回调
onShow: function () { let _this = this recorderManager.onFrameRecorded(function (res){ let data = res.frameBuffer _this.wsSend(data) }) recorderManager.onInterruptionBegin(function (res){ console.log('录音中断') _this.wsStopForAcc() }) recorderManager.onStop(function (res){ console.log('录音停止') }) },
到此这篇关于微信小程序通过websocket实时语音识别的实现代码的文章就介绍到这了,更多相关微信小程序websocket实时语音识别内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

