Итак, я хочу иметь постоянную смену циклов из разных аудиоисточников.Для демонстрации я сделал небольшую головоломку - вы выравниваете числа в порядке от 0 до 8 и в зависимости от того, как вы их выравниваете, играют разные лупы.Мне удалось получить желаемый результат в браузере Chrome, но не в Safari или Firefox.Я попытался добавить другое назначение аудио или несколько аудио-контекстов, но независимо от того, какой цикл просто останавливается после одной итерации в Safari и других браузерах, кроме Chrome.
Вот ссылка на демонстрацию на code-pen Демо-пазл с музыкой пожалуйста, выключите звук, поскольку музыка может быть слишком громкой, я не справился с этим.И вот основной код, который у меня есть для манипуляции с Web Audio Api.Спасибо * Также это не работает для мобильных устройств вообще.
const AudioContext = window.AudioContext || window.webkitAudioContext;
var audioContext = new AudioContext();
const audio1 = document.getElementById("aud1");
const audio2 = document.getElementById("aud2");
const audio3 = document.getElementById("aud3");
const audio4 = document.getElementById("aud4");
var chosenTrack = audio2;
let gameStarted = false;
function startGame() {
document.getElementById("sHold").style.display = "none";
document.getElementById("container").style.display = "block";
gameStarted = true;
audioContext.resume();
audioContext = new AudioContext();
audio1.pause();
audio1.play();
audio1.currentTime = 0;
}
setInterval(function() {
if (gameStarted) {
//console.log(audioContext.currentTime );
if (audioContext.currentTime >= 6.4) {
audioContext = new AudioContext();
chosenTrack.pause();
chosenTrack.play();
chosenTrack.currentTime = 0;
}
}
}, 5);