小程序中提供了兩種錄音的API
首先啟動錄音,然后停止錄音即可拉到音頻的臨時地址 啟動錄音:
var that = this;
wx.startRecord({
success: function (res) {
// 調用了停止錄音接口就會觸發這個函數,res.tempFilePath為錄音文件臨時路徑
var tempFilePath = res.tempFilePath
that.setData({
src: tempFilePath
})
},
fail: function (res) {
//錄音失敗的處理函數
}
})
停止錄音:
wx.stopRecord()
播放錄音:
wx.playVoice({
filePath: src // src可以是錄音文件臨時路徑
})
獲取全局唯一的錄音管理器,然后錄音都依賴他,而播放錄音則需要內部 audio 上下文 innerAudioContext 對象。 獲取全局唯一的錄音管理器:
var that = this;
this.recorderManager = wx.getRecorderManager();
this.recorderManager.onError(function(){
// 錄音失敗的回調處理
});
this.recorderManager.onStop(function(res){
// 停止錄音之后,把錄取到的音頻放在res.tempFilePath
that.setData({
src: res.tempFilePath
})
console.log(res.tempFilePath )
});
開始錄音:
this.recorderManager.start({
format: 'mp3' // 如果錄制acc類型音頻則改成aac
});
結束錄音:
this.recorderManager.stop()
播放音頻:
this.innerAudioContext = wx.createInnerAudioContext();
this.innerAudioContext.onError((res) => {
// 播放音頻失敗的回調
})
this.innerAudioContext.src = this.data.src; // 這里可以是錄音的臨時路徑
this.innerAudioContext.play()
|