ios重新进入音频地址被清空了,而安卓音频地址不为空,所以安卓还是按着之前的播放
多写个resetBgAudio,控制是否重新播放音频
data{
resetBgAudio:false,
playStatus:true,
}
onload(){
this.playBgAudio()
}
playBgAudio: function() {
return this.data.playStatus ? this.pause() : this.play()
},
//播放
play(){
//音频播放实例
const bgAudio= wx.getBackgroundAudioManager();
// 监听音频播放事件
bgAudio.onPlay(() => {
this.setData({
playStatus: true,
resetBgAudio:false
})
})
// 监听音频停止事件
bgAudio.onStop(() => {
this.setData({
playStatus: false,
resetBgAudio:true
})
})
bgAudio.onError(res => {
console.log(res,'错误信息')
})
// 监听音频自然播放至结束的事件
bgAudio.onEnded(() => {
this.setData({
playStatus: false,
resetBgAudio:true
})
})
if (this.data.resetBgAudio) {
bgAudio.src = 'xxx.mp3'
bgAudio.title = '标题'
bgAudio.play() // 调起播放
}
},
//暂停
pause() {
const bgAudio= wx.getBackgroundAudioManager(); //音乐播放实例
bgAudio.pause() // 调起暂停
this.setData({
playStatus: false,
resetBgAudio:true
})
},