wx.playVoiceメソッドを使用して、指定したオーディオファイルを再生します。このメソッドでは、filePath属性を設定して、オーディオファイルのパスを指定する必要があります。wx.pauseVoiceメソッドを使用して、現在のオーディオファイルの再生を一時停止します。一時停止後、再度wx.playVoiceメソッドを呼び出して、一時停止した位置から再生を再開します。オーディオファイルを最初から再生する場合は、wx.stopVoiceメソッドを呼び出してオーディオファイルの再生を停止し、再度wx.playVoiceメソッドを呼び出してオーディオファイルを最初から再生する必要があります。アプレットで同時に再生できるオーディオファイルは1つだけです。現在のオーディオの再生中に前のオーディオが再生されている場合、前のオーディオの再生は終了します。
次のコードは、前のセクションのプログラムを改善したものです。録音を停止した後、録音したオーディオを再生、一時停止、停止できます。
index.wxml
<view style="margin:20px">
<button bindtap="startRecord">开始录音</button>
<button style = "margin-top:10px" bindtap="stopRecord">停止录音</button>
<button style = "margin-top:10px" bindtap="playVoice">播放录音</button>
<button style = "margin-top:10px" bindtap="pauseVoice">暂停播放</button>
<button style = "margin-top:10px" bindtap="stopVoice">停止播放</button>
</view>
index.js
var app = getApp()
Page({
data: {
recording: false,
playing: false,
hasRecord: false,
},
//开始录音
startRecord: function () {
var that = this;
wx.startRecord({
success: function (res) {
console.log(res.tempFilePath);
that.setData({
hasRecord: true,
tempFilePath: res.tempFilePath,
})
},
complete: function () {
that.setData({ recording: false })
}
})
},
// 停止录音
stopRecord: function () {
var that = this;
console.log(this.data.tempFilePath);
wx.stopRecord({
success: function () {
console.log('stop record success')
that.setData({
recording: false,
hasRecord: false,
})
}
})
},
// 开始播放录制的音频
playVoice: function () {
var that = this;
wx.playVoice({
filePath: this.data.tempFilePath,
success: function () {
console.log('play voice finished')
that.setData({
playing: false,
})
}
})
},
// 暂停播放录制的音频
pauseVoice: function () {
wx.pauseVoice()
this.setData({
playing: false
})
},
// 停止播放录制的音频
stopVoice: function () {
this.setData({
playing: false,
})
wx.stopVoice()
}
})