如何根据随机数播放声音

时间:2019-07-21 13:03:21

标签: javascript html

我尝试根据1-4之间的Math.random结果播放声音文件。我使用JavaScript构建“ Simon游戏”,并想播放特定的声音文件(基于当前的闪烁框,为4之1)。我已经将4种声音文件存储在这样的对象中:

let random = Math.floor((Math.random() * 4) + 1);
let sounds = {
      box1: new Audio("https://s3.amazonaws.com/freecodecamp/simonSound1.mp3"),
      box2: new Audio("https://s3.amazonaws.com/freecodecamp/simonSound2.mp3"),
      box3: new Audio("https://s3.amazonaws.com/freecodecamp/simonSound3.mp3"),
      box4: new Audio ("https://s3.amazonaws.com/freecodecamp/simonSound4.mp3")
};

如何根据随机结果操作声音?

致谢

2 个答案:

答案 0 :(得分:1)

我认为这是您想要的:

const random = Math.floor(Math.random() * Object.keys(sounds).length - 1);    
sounds[`box${random}`].play();

尽管数组可能会更好地适合您的用例,因为它会阻止使用Object.keys()

答案 1 :(得分:0)

在代码底部只需添加:

sounds['box'+random].play();
相关问题