A帧:单击时播放随机声音

时间:2018-12-20 18:55:05

标签: audio random aframe

我正在用类似无线电的对象制作场景,并且希望在单击时使其从我的资产中播放随机的音频文件。这个问题对我有很多帮助,帮助您了解如何添加音频文件Play sound on click in A-Frame 但我无法弄清楚随机方面。 非常感谢你。

1 个答案:

答案 0 :(得分:1)

您可以拥有一系列声音元素

// use ID's - grab by document.getElementById(audioIds[num])
var audioIds = ['one', 'two', 'three'] 

// use a class - grab by audioEls[num]
var audioEls = document.getElementsByClassName('sharedClassName') 

并使用简单的随机选择项

// get a random number between 0 and the number of the elements
let lastIndex = audioEls.length - 1 // arrays begin at 0.
var audioEl = audioEls[Math.round(Math.random() * lastIndex)]

然后在click上停止播放任何声音,并获取新的声音:

this.el.addEventListener('click', () => {
    if (!playing) {
      audioEl = audio[Math.round(Math.random() * (audio.length - 1))]
      audioEl.play();
    } else {
      audioEl.pause();
      audioEl.currentTime = 0;
    }
    playing = !playing;
});

您可以在我的fiddle中查看它。