voice: function (event){
var that = this;
clearInterval(that.data.times)
var arr = ['../../image/voice_001.png', '../../image/voice_011.png','../../image/voice_01.png']
const backgroundAudioManager = wx.getBackgroundAudioManager()
backgroundAudioManager.stop()
backgroundAudioManager.onStop(function(){
clearInterval(that.data.times)
that.setData({
bigPic: arr[2]
})
console.log("播放停止");
})
backgroundAudioManager.src = event.target.dataset.url
backgroundAudioManager.onPlay(function(){
console.log("开始播放")
util.play(arr, "bigPic", function (i, time) {
that.setData({
bigPic: arr[i],
times: time
})
})
})
backgroundAudioManager.onEnded(function(){
clearInterval(that.data.times)
that.setData({
bigPic: arr[2]
})
console.log("播放完成");
})
}
|
有个抖机灵的办法:
不直接调用:backgroundAudioManager.stop()。
而是先调用backgroundAudioManager.seek(0),将播放进度挪到第0秒,
再调用暂停backgroundAudioManager.pause()
这样下次调用播放的时候,音频就能从头开始播放了
亲测有效
play:function(){varthat =thisconst backgroundAudioManager = wx.getBackgroundAudioManager()backgroundAudioManager.title ='此时此刻'if(that.data.fg == 1){backgroundAudioManager.src ='https://cos-bi-ppt-1252899312.cos.ap-shanghai.myqcloud.com/word/ci/1.mp3'}else{backgroundAudioManager.src ='https://cos-bi-ppt-1252899312.cos.ap-shanghai.myqcloud.com/word/ci/2.mp3'}backgroundAudioManager.onStop(function(){console.log("停止")})backgroundAudioManager.onPlay(function(){console.log("开始")if(that.data.fg == 1){that.setData({fg: 2})}else{that.setData({fg: 1})}})backgroundAudioManager.onEnded(function(){if(that.data.fg == 1) {that.setData({fg: 2})}else{that.setData({fg: 1})}})}现在是多加了一个音频路径,在播放其中一个时,如果再次点击,就播放另一个音频。这样才能实现打断之前的播放并且立即重新播放的功能
请问有别的办法么 音频文件很多 不可能都一个备份出来哇