JS audio播放一个的时候,其他正在播放的关闭

audio在使用中,如果有多个,在播放的时候,如果一个声音没有播放完继续下一个的话,原来正在播放的并不会关闭(在Android和PC上测试是这样,苹果产品不清楚)

现在需要做的是,当播放其中一个的时候,其他正在播放的全部关闭

实现思路:先获取当前HTML中所有的audio作为数组储存,当你指定要播放的audio,根据你所指向的audio的下标,移除该目标 ,数组剩余对象全部用关闭

具体代码如下

//获取Class对象下的所有audio对象
let audios = document.getElementsByClassName('voice')[0].getElementsByTagName('audio');

/**
*@parma audio //audio列表
*@Parma a //当前audio下标
**/
function pauseAll(audioList,a) { for(let i = 0; i < audioList.length; i++){ if(i !== a-1){ audioList[i].pause(); } } }
原文地址:https://www.cnblogs.com/liao123/p/11613652.html