如何修复audio.play()不是函数

时间:2019-07-07 13:12:19

标签: javascript html audio

我不明白为什么它不起作用。看起来很好

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>

1 个答案:

答案 0 :(得分:0)

没有更好的答案。这是针对我一年内搜索SO时遇到的:我收到“ audio.play()不是函数”错误,因为我无意中创建了一个畸形的对象,该对象的属性不正确(愚蠢,因为传入了重命名道具,这很愚蠢) React *),因此JS尝试处理该命令感到窒息。一旦我解决了这个问题并提供了正确的文件源,错误就消失了。

*音频文件的原始数组具有this.state键,例如'url'和'id',但是当我遍历该数组时,我确实像一样愚蠢,但是当基于该键构建实际时,我仍然尝试使用“ url”和“ id”代替新重命名的道具“ clip”和“ clipId”。我正在四处逛逛,但是花了我太长时间才弄明白了这些东西,并弄清楚了我的错误(据我所知,我可能会摆脱一层传递的道具……重构一次即可)全部启动并运行)。