// создаем аудио контекст
if (typeof AudioContext == "function") {var audioContext = new AudioContext();
}else if(typeof webkitAudioContext == "function") {var audioContext = new webkitAudioContext();}
var source = audioContext.createBufferSource();
source.connect(audioContext.destination);
var xhr = new XMLHttpRequest();
xhr.open("GET", "sound/open.wav", true);
xhr.responseType = "arraybuffer";
xhr.onload = function() {
var buffer_open = audioContext.createBuffer(xhr.response, false);
source.buffer = buffer_open;
};
xhr.send();
// функция начала воспроизведения
var play_open = function(){
// воспроизводим
source.start(0);
}
Воспроизводится при клике на кнопку все отлично! Есть одна проблема, при втором клике вылетает ошибка!
"Failed to execute 'start' on 'AudioBufferSourceNode': cannot call start more than once."
Вопросы как отследить что звук проигрался?
или просто перезапустить буфер?