一、问题描述:
多个音频连续播放时,会出现音频播放不连贯的问题,导致音频播放终止,同时控制台会报异常,如下图所示:
图片描述

二、问题原因:
执行了音频的play()方法以后立即执行pause()方法,两者之间切换过快。

 audio.addEventListener('ended', function() {
                goNextAudio(_this);
            })

三、解决办法:
设置保护性延迟,当两次执行太过频繁时,直接退出,不向下执行程序。

audio.addEventListener('ended', function() {
                var currentTimes = Date.now();
                var protectTime = 100;
                if ((currentTimes - lastRunTime) < protectTime) {
                    return;
                }
                goNextAudio(_this);
            })

云霄阁主
49 声望4 粉丝