老项目维护,遇到小程序播放音频兼容性问题
安卓mp3音频可以正常播放,开发者工具也可以,IOS音频不能播放,但是也没有报错,
本来以为是http协议问题,排查后发现不是
dataUrl:音频地址里面包含空格,导致IOS出现兼容性问题,需要对播放地址进行转码
(也不明白返回为什么要有空格)
wx.playBackgroundAudio({
dataUrl: encodeURI(res.currentTarget.dataset.url),
// dataUrl: 'https://www.w3school.com.cn/blue bird.mp3',
// dataUrl: 'https://www.w3school.com.cn/i/song.mp3',
coverImgUrl: '',
playTime: 0,
title: res.currentTarget.dataset.name,
TimeString: gettime(res.currentTarget.dataset.seek),
success: function () {
console.log('success')
},
fail: function(res){
console.log(res)
}
})
// 监听音乐播放。
wx.onBackgroundAudioPlay(() => {
console.log("监听开始播放")
})
// 监听音乐暂停。
wx.onBackgroundAudioPause(() => {
console.log("监听暂停")
})
// 监听音乐停止。
wx.onBackgroundAudioStop(() => {
console.log("监听停止")
})