我不明白为什么它不起作用。看起来很好
const button = document.querySelector('.play');
const alarm = document.getElementById('alarm');
button.addEventListener('click',function(){
alarm.play();
})
这是html:
<audio id="alarm">
<source src="sound/Wecker-sound.mp3">
</audio>
答案 0 :(得分:0)
没有更好的答案。这是针对我一年内搜索SO时遇到的:我收到“ audio.play()不是函数”错误,因为我无意中创建了一个畸形的对象,该对象的属性不正确(愚蠢,因为传入了重命名道具,这很愚蠢) React *),因此JS尝试处理该命令感到窒息。一旦我解决了这个问题并提供了正确的文件源,错误就消失了。
*音频文件的原始数组具有this.state键,例如'url'和'id',但是当我遍历该数组时,我确实像一样愚蠢,但是当基于该键构建实际时,我仍然尝试使用“ url”和“ id”代替新重命名的道具“ clip”和“ clipId”。我正在四处逛逛,但是花了我太长时间才弄明白了这些东西,并弄清楚了我的错误(据我所知,我可能会摆脱一层传递的道具……重构一次即可)全部启动并运行)。