Тема: Web Audio API
Показать сообщение отдельно
  #1 (permalink)  
Старый 01.02.2014, 12:12
Аватар для KupueIIIKo
Профессор
Отправить личное сообщение для KupueIIIKo Посмотреть профиль Найти все сообщения от KupueIIIKo
 
Регистрация: 04.10.2011
Сообщений: 357

Web Audio API
// создаем аудио контекст
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."

Вопросы как отследить что звук проигрался?
или просто перезапустить буфер?
Ответить с цитированием