顺序播放音频使用的是递归函数:
// 需要顺序播放音频的位置
let arr = res.data.response.arr, //需要播放的音频地址数组
currentIndex = 0;
if(arr.length>0){
this.play(arr, currentIndex); //调用递归函数
}else{
console.log('暂无语音提醒!');
}
// 播放音频的递归函数:
play(arr, currentIndex){
let InnerAudioContext = wx.createInnerAudioContext()
InnerAudioContext.src = arr[currentIndex];
InnerAudioContext.play();
InnerAudioContext.onEnded((res) => {
if(currentIndex < arr.length){
this.play(arr, currentIndex+1);
}
})
}
同步播放多个音频使用的是for循环:
let arr = res.data.response.arr; //需要播放的音频地址数组
if(arr.length>0){
for(let i of arr){
let InnerAudioContext = wx.createInnerAudioContext()
InnerAudioContext.src = i;
InnerAudioContext.play();
}
}else{
console.log('暂无语音提醒!');
}