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

Posted padding2020

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(); } } }

 

以上是关于JS audio播放一个的时候,其他正在播放的关闭的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Soundboard - 播放一个按钮会关闭所有其他按钮

多个音频,当当前正在使用 javascript 播放时自动停止其他

js一加载网页就自动播放

ios设置音乐audio自动播放

微信浏览器中的audio的问题,有时候播放,有时候不播放是啥问题

网页播放一个audio暂停其他audio