繁体   English   中英

如何切换dom音频元素

[英]How to toggle a dom audio element

我是Java语言的新手,我试图允许用户通过按按钮来打开或关闭所有声音。 我创建了切换音频的功能:

function playPause(id){
soundElement = document.getElementById(id);
if (soundElement.pause) {
    soundElement.play();
}
else
    soundElement.pause();
}

然后在按键上起作用的代码:

 if (keys.hasOwnProperty(77)){
 soundElement.playPause();
 }

我有几段音频通过soundElement运行。 我是否必须遍历所有soundElement以允许用户将所有音频静音,或者是否有一种方法可以暂停所有soundElement而不必遍历每个id?

您可以改用querySelectorAll()

var audioElements = document.querySelectorAll("audio");

然后迭代每个对象并切换状态,例如:

var i = 0, el;
while(el = audioElements[i++]) playPause(el);

function playPause(soundElement) {
   if (soundElement.paused) {
     soundElement.play();
   }
   else
     soundElement.pause();
}

要检查暂停状态,请使用paused而不是pause (后者是一种方法)。

只是请注意,不能保证音频正在播放/已加载等,因此需要进行一些错误检查才能完美地进行此工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM