语音与音乐的叠加合成怎么实现 微信c小程序序

微信小程序语音转文字的实现方式_Hi小程序
微信小程序语音转文字的实现方式
|HiShop|阅读量:
导读:一般小程序语音格式是mp3,那么如何将语音格式mp3转换为文字,下面为大家介绍微信小程序语音转文字的实现方式...
最新消息,Hi小程序小编了解到,当下热门话题内容:微信小程序语音转文字的实现方式。
  一般小程序语音格式是mp3,那么如何将语音格式mp3转换为文字,下面为大家介绍微信小程序语音转文字的实现方式
& & 微信小程序语音转文字的实现方式
  1、微信小程序录音,提交到服务器(此时音频格式为silk);
  2、利用silk-v3-decoder(https://github.com/kn007/silk-v3-decoder), 把silk 转换成pcm格式 (silk/decoder /data/test.silk /data/1.pcm);
  3、 用 ffmpeg 把 44100 采样率 单声道 16bts pcm 文件转 16000采样率 16bits 位深的单声道pcm文件
  ffmpeg -y -f s16le -ac 1 -ar 44100 -i test44.pcm -acodec pcm_s16le -f s16le -ac 1 -ar 16000 16k.pcm (获得pcm文件)
  ffmpeg -y -f s16le -ar 24000 -ac 1 -i /data/1.pcm -f wav -ar 16000 -b:a 16 -ac 1 /data/1.wav (获得wav文件)
  4、调用百度api 转换 pcm , 就能获取百度转换后的 文字
  注:采样率很重要,错了百度api将无法转换,必须为
HiShop工具提供多类型商城/门店小程序制作,可视化编辑 1秒生成5步上线。通过拖拽、拼接模块布局小程序商城页面,所看即所得,只需要美工就能做出精美商城。
更多小程序开发案例,尽在:http://www.hishop.com.cn/xiaocx/kaifa.html扫一扫关注我们
Copyright (C) 2017 xqq8.com 微信小程序商店 ICP备:粤ICP备号-1Posts - 253,
Articles - 0,
Comments - 614
17:48 by DanielWise, ... 阅读,
& 最近在写一个小程序(原创诗词平台,名字叫作&诗人呀&)的功能,需求是需要把用户的录音记录并上传到服务器,然后调用接口来实现播放功能。
翻阅不少资料都发现小程序对wx.startRecord()接口不在维护,
注意:1.6.0 版本开始,本接口不再维护。建议使用能力更强的&&接口
需要使用新的接口来处理,官方文档又不符合我的需求,所以就决定自己动手来实现一下录音播放功能。
因此我们使用的使用 wx.getRecorderManager 接口:
首先使用方法获取对象
const recorderManager = wx.getRecorderManager()
const innerAudioContext = wx.createInnerAudioContext()
然后写一个button来调用开始录音的方法。
//开始录音的时候
start: function () {
const options = {
duration: 10000,//指定录音的时长,单位 ms
sampleRate: 16000,//采样率
numberOfChannels: 1,//录音通道数
encodeBitRate: 96000,//编码码率
format: 'mp3',//音频格式,有效值 aac/mp3
frameSize: 50,//指定帧大小,单位 KB
//开始录音
recorderManager.start(options);
recorderManager.onStart(() =& {
console.log('recorder start')
//错误回调
recorderManager.onError((res) =& {
console.log(res);
再写一个button来调用停止录音的方法。
//停止录音
stop: function () {
recorderManager.stop();
recorderManager.onStop((res) =& {
this.tempFilePath = res.tempFileP
console.log('停止录音', res.tempFilePath)
const { tempFilePath } = res
最后写一个播放声音的方法
//播放声音
play: function () {
innerAudioContext.autoplay = true
innerAudioContext.src = this.tempFilePath,
innerAudioContext.onPlay(() =& {
console.log('开始播放')
innerAudioContext.onError((res) =& {
console.log(res.errMsg)
console.log(res.errCode)
这样就完成新API的操作了,WXML代码如下:
&button bindtap="start" class='btn'&开始录音&/button&
&button bindtap="stop" class='btn'&停止录音&/button&
&button bindtap="play" class='btn'&播放录音&/button&
但是我发现点击播放根本播放不出来。这是为什么呢,路径也可以打印出来,原来小程序返回的临时路径根本无法播放,
需要通过wx.uploadFile()方法来从后台获取处理好的mp3文件来进行播放。&
setTimeout(function&()&{&&
&&&&&var&urls&=&app.globalData.urls&+&"/Web/UpVoice";&&
&&&&&console.log(s.data.recodePath);&&
&&&&&wx.uploadFile({&&
&&&&&&&&&url:&urls,&&
&&&&&&&&&filePath:&s.data.recodePath,&&
&&&&&&&&&name:&'file',&&
&&&&&&&&&header:&{&&
&&&&&&&&&&&&&'content-type':&'multipart/form-data'&&
&&&&&&&&&},&&
&&&&&&&&&success:&function&(res)&{&&
&&&&&&&&&&&&&var&str&=&res.&&
&&&&&&&&&&&&&var&data&=&JSON.parse(str);&&
&&&&&&&&&&&&&if&(data.states&==&1)&{&&
&&&&&&&&&&&&&&&&&var&cEditData&=&s.data.editD&&
&&&&&&&&&&&&&&&&&cEditData.recodeIdentity&=&data.&&
&&&&&&&&&&&&&&&&&s.setData({&editData:&cEditData&});&&
&&&&&&&&&&&&&}&&
&&&&&&&&&&&&&else&{&&
&&&&&&&&&&&&&&&&&wx.showModal({&&
&&&&&&&&&&&&&&&&&&&&&title:&'提示',&&
&&&&&&&&&&&&&&&&&&&&&content:&data.message,&&
&&&&&&&&&&&&&&&&&&&&&showCancel:&false,&&
&&&&&&&&&&&&&&&&&&&&&success:&function&(res)&{&&
&&&&&&&&&&&&&&&&&&&&&}&&
&&&&&&&&&&&&&&&&&});&&
&&&&&&&&&&&&&}&&
&&&&&&&&&&&&&wx.hideToast();&&
&&&&&&&&&},&&
&&&&&&&&&fail:&function&(res)&{&&
&&&&&&&&&&&&&console.log(res);&&
&&&&&&&&&&&&&wx.showModal({&&
&&&&&&&&&&&&&&&&&title:&'提示',&&
&&&&&&&&&&&&&&&&&content:&"网络请求失败,请确保网络是否正常",&&
&&&&&&&&&&&&&&&&&showCancel:&false,&&
&&&&&&&&&&&&&&&&&success:&function&(res)&{&&
&&&&&&&&&&&&&&&&&}&&
&&&&&&&&&&&&&});&&
&&&&&&&&&&&&&wx.hideToast();&&
&&&&&&&&&}&&
将onStop中获取到的临时路径上传到你的服务器当中,进行处理语音识别和语义,将返回的结果放到audio播放组件中就可以播放音频了。
实现完成后的小程序部分截图如下:
如果大家对于其他非技术细节也感兴趣的话,欢迎点击访问。没有更多推荐了,
不良信息举报
举报内容:
微信小程序音频相关问题:播放,录音等相关
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!如何实现一键生成微信小程序? - 知乎43被浏览<strong class="NumberBoard-itemValue" title="1分享邀请回答6添加评论分享收藏感谢收起1添加评论分享收藏感谢收起

我要回帖

更多关于 微信小程序语音转文字 的文章

 

随机推荐