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(); } } }