A-frame: воспроизводить случайный звук при нажатии - PullRequest
0 голосов
/ 20 декабря 2018

Я создаю сцену с радио-подобным объектом, и я бы хотел, чтобы он воспроизводил случайный аудиофайл из моих активов при нажатии.Этот вопрос очень помог мне понять, как добавить аудиофайлы Воспроизведение звука по щелчку в A-Frame , но я не могу понять случайный аспект.Большое спасибо.

1 Ответ

0 голосов
/ 20 декабря 2018

Вы можете иметь массив звуковых элементов

// 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;
});

Вы можете проверить это в моей скрипке .

...