PC端多音频连续播放时,没播放就调用了onEnded,手机端正常。
使用了BackgroundAudioManager
this.currentBgAudio.onEnded(() => {
this.destroyAudio();
setTimeout(() => {
this.toNextChoose();
}, 500);
});
toNextChoose() {
this.destroyAudio();
if (Number(this.itemIndex) + 1 >= this.allLength) {
console.log('这里是最后了');
this.hanldeFinishShowEndPage();
return;
}
this.itemIndex++;
this.playCurrentItemAudio();
},
playCurrentItemAudio() {
this.currentItem = this.allContentArr[this.itemIndex] || {};
const { title, audioUrl } = this.currentItem;
this.destroyAudio();
console.log(audioUrl);
if (audioUrl) {
this.currentBgAudio = createBgAudioText();
this.currentBgAudio.title = title || '暂无';
this.currentBgAudio.src = audioUrl;
this.currentBgAudio.play();
showLoading('正在加载音频');
if (!this.hasListener) {
this.handleWithAudioEvent();
this.hasListener = true;
}
}
},
这个onEnded 执行了,playCurrentItemAudio里面this.currentBgAudio = createBgAudioText(); 没有执行。
请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。