一、微信小程序的录音接口
新版api中已经放弃wx.startRecord(),wx.stopRecord() 接口的,改为了RecorderManager对象。
RecorderManager
全局唯一的录音管理器
官网Api定义:RecorderManager | 微信开放文档
通过wx.getRecorderManage() 方法获得
wx.getRecorderManager()
每次录音最长,支持10分钟,具体时间可以再start参数中指定。
二、开始录音、停止录音
初始化:
const recorder = wx.getRecorderManager();
var Upload = require('../../utils/uploadHelper.js');
var url = require('../../utils/urlHelper.js');
事件监听:
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
var _this = this;
//事件监听
recorder.onStart(() => {
console.info('开始录音');
});
recorder.onPause(() => {
console.info('暂停录音');
});
//结束获取录取文件
recorder.onStop((res) => {
console.info('停止录音');
console.info(res); //可以看到录音文件
_this.setData({
file: res
});
});
},
开始录音:
//开始录音
startClick() {
var options = {
format: 'mp3',
duration: 10000,
};
recorder.start(options);
},
结束录音:
//结束录音
stopClick() {
recorder.stop();
},
三、播放录音
//播放录音
playClick() {
var audio = wx.createInnerAudioContext();
audio.src = this.data.file.tempFilePath;
audio.autoplay = true;
},
四、上传录音
//上传录音
uploadClick() {
var file = this.data.file;
//后端使用相同的上传处理 common/upload 或者自己写一个
wx.uploadFile({
filePath: file.tempFilePath,
name: '音频文件',
url: url.getDomain() + '/common/upload',
formData: {
backinfo: JSON.stringify({
handleType: 0
})
},
success: res => {
var data=JSON.parse(res.data);
console.info(data);
console.info('上传成功');
}
})
},
更多: