Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择通过新音频添加的音频_Javascript - Fatal编程技术网

Javascript 选择通过新音频添加的音频

Javascript 选择通过新音频添加的音频,javascript,Javascript,我们可以使用以下代码暂停所有带有音频标签的音频: const sounds = document.getElementsByTagName('audio'); sounds.forEach(sound => sound.pause()); 在上面的代码中,我们可以选择所有的音频标签,并对它们执行我们想要的任何操作 问题是如果我们使用新建音频创建音频DOM上将没有音频标记,并且我们无法选择音频 以下是我尝试的代码: setTimeout(() => play(), 3000); f

我们可以使用以下代码暂停所有带有音频标签的音频:

const sounds = document.getElementsByTagName('audio');
sounds.forEach(sound => sound.pause());
在上面的代码中,我们可以选择所有的音频标签,并对它们执行我们想要的任何操作

问题是如果我们使用
新建音频创建音频
DOM上将没有音频标记,并且我们无法选择音频

以下是我尝试的代码:

setTimeout(() => play(), 3000);

function play(){
  const prefixAudio = new Audio(`audio.mp3`);
  prefixAudio.play();
}
如何选择此音频以便暂停它?如何选择通过此方法添加的音频

const prefixAudio = new Audio(`audio.mp3`);

const play = () => {
  prefixAudio.play();
}

const pause = () => {
  prefixAudio.pause();
}
    setTimeout(() => play(), 3000);

像这样?

前缀音频
放在
播放
和其他功能的全局范围内。它不会将音频添加到DOM中。您是否在音频
构造函数
功能中使用了正确的路径?大多数现代浏览器会阻止
自动播放
或在没有用户干预的情况下播放,因此请小心