猿记录

一个记录、分享的博客

您的位置:主页 > 微信小程序 >

微信网页开发--录音功能

2018-08-20 08:37:54 作者:yxl 次阅读 微信小程序

看文档

在做这个之前 建议多看看文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

微信端流程

1.wx.config()。 
这里需要注意的是在jsApiList添加权限

jsApiList: [   'onMenuShareTimeline',   'onMenuShareAppMessage',   'startRecord',   'stopRecord',   'onVoiceRecordEnd',   'playVoice',   'uploadVoice']12345678

2.开始录音wx.startRecord();就是调用这个接口就可以了。 
3.结束录音

wx.stopRecord({
success: function (res) {
    var localId = res.localId;
}
});12345

这里的localId 要注意了,这是调用播放录音接口

wx.playVoice({    localId: '' // 需要播放的音频的本地ID,由stopRecord接口获得});123

需要的参数。 
4.上传录音

wx.uploadVoice({
    localId: '', // 需要上传的音频的本地ID,由stopRecord接口获得
    isShowProgressTips: 1, // 默认为1,显示进度提示
    success: function (res) {
        var serverId = res.serverId; // 返回音频的服务器端ID
    }
});1234567

备注:上传语音有效期3天,可用微信多媒体接口下载语音到自己的服务器,此处获得的 serverId 即 media_id,参考文档 .目前多媒体文件下载接口的频率限制为10000次/天,如需要调高频率,请登录微信公众平台,在开发 - 接口权限的列表中,申请提高临时上限。 
这里的serverId就是后端接口去下载微信录音文件的一个参数,这个很重要。 
5.播放录音

wx.playVoice({    localId: '' // 需要播放的音频的本地ID,由stopRecord接口获得});123

这个是微信提供的接口。还有一种方式是,使用插件BenzAMRRecorder播放.amr格式的录音文件。使用插件的方式,就没有微信录音文件3天的时间限制了。

后端流程

1.下载录音 
调用接口:https://api.weixin.qq.com/cgi-bin/media/get?access_token=access_token&media_id=media_id 
关于这个下载的接口, 微信文档没找到。网上有3个版本,都是试过的,就是这个可以使用。 其他的就不贴出来了。这里的access_token是那个有7200秒和调用次数限制的。media_id就是调用微信上传录音接口wx.uploadVoice()返回的serverId。 
2.上传七牛云 
上传七牛云这个看我之前的文档就知道怎么操作了。 
Node.js+express+MySQL使用七牛云实现的用户头像修改 
前端就可以直接使用插件BenzAMRRecorder播放.amr格式的录音文件了。 
这里需要注意的是只能播放https的,不要问我为什么,踩坑过来的。

最后

关于其他细节大家可以自行百度。上面只是流程,具体代码之前是什么关系,自己去实践,看文档。


凡本站注明“本站”或“投稿”的所有文章,版权均属于本站或投稿人,未经本站授权不得转载、摘编或利用其它方式使用上述作品。

编辑:yxl 关键词: 微信,录音
0

网友评论