【问题标题】:jQuery Audio: play() failed because the user didn't interact with the document firstjQuery Audio:play() 失败,因为用户没有先与文档交互
【发布时间】:2020-12-17 21:58:31
【问题描述】:

我对 Javascript 和 Jquery 比较陌生。我要做的是创建一个带有 2 个按钮的基本网页,当您单击它们时它们就会发出声音。

上面的功能是选择名为“green.mp3”的音频文件,点击绿色按钮播放。

function sound(color){
  var audio = new Audio("sounds/" + color + ".mp3");

      audio.play();

}


$(".green").click(sound("green"))

问题是,当我运行它时,它显示“未捕获(承诺)DOMException:play() 失败,因为用户没有首先与文档交互。”。我不打算在打开网页时自动播放音频,它是在交互后启动音频,所以我在这里显然犯了一个非常愚蠢的错误。考虑到我是最愚蠢的初学者,有人可以在这里帮助我吗? :D

【问题讨论】:

    标签: javascript jquery web


    【解决方案1】:

    当您尝试附加事件处理程序时,您的声音函数会立即运行,您必须将其包装在一个函数中并将其传递给点击处理程序

    $(".green").click(event => sound("green"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-02
      • 1970-01-01
      • 1970-01-01
      • 2020-12-25
      • 1970-01-01
      • 2021-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多