提问者:小点点

选择按钮后自动播放音频


我的html中有4个按钮。我随机选择了一个按钮,并希望播放选定按钮的声音。

这是我的索引。js

buttonColours=["red", "blue", "green", "yellow"];
gamePattern=[];
function nextSequence(){
  var r = Math.floor(Math.random()*4);
  gamePattern.push(buttonColours[r]);
  var b = gamePattern[0];
$("#"+b).fadeOut(100).fadeIn(100);
var a = new Audio("sounds\\"+b+".mp3");
a.play();
}
nextSequence();

我在控制台上看到这个错误。

index.js:12未捕获(promise)DOMExc0019: play()失败,因为用户没有首先与文档交互


共1个答案

匿名用户

大多数浏览器都不允许在没有用户自己操作的情况下自动播放音乐。您可以使用按钮调用您的函数。它可能看起来像这样:

<button id="start">Start</button>
var start = document.getElementById("start");

start.onclick = function() {
  var r = Math.floor(Math.random()*4);
  gamePattern.push(buttonColours[r]);
  var b = gamePattern[0];
$("#"+b).fadeOut(100).fadeIn(100);
var a = new Audio("sounds\\"+b+".mp3");
a.play();
}