Заметки / Параллельное воспроизведение звуков в браузере

JavaScript
 Изначально звук на веб-странице воспроизводился тэгом bgsound. Он не нашёл широкого применения и поддерживается только в "IE". Затем появился похожий тэг: audio. Наиболее совместимый формат файлов для него - mp3: его проигрывают все современные браузеры. Этот тэг можно использовать не только в виде плеера, но и для озвучивания событий в скриптах. Ниже приведён пример такой работы с audio:
<script type="text/javascript">
//<![CDATA[
var i, n=1, q=10;

// Создаём q невидимых буферов
for (i=0; i<q; i++)
{
 document.write ('<div id="buf'+i+'" style="position:absolute;left:-250px"></div>');
}

// Воспроизведение файла
function playAudio (sound)
{
 // Загружаем тэг audio с включённым автопроигрыванием в буфер
 document.getElementById("buf"+n).innerHTML='<audio autoplay><source src="'+sound+'.mp3" type="audio/mpeg"></audio>';
 // Переход к следующему буферу по кругу
 n++;
 if (n==10)
  n=1;
}

// Та же функция, но с одним буфером
function playAudioSync (sound)
{
 document.getElementById("buf0").innerHTML='<audio autoplay><source src="'+sound+'.mp3" type="audio/mpeg"></audio>';
}

//]]>
</script>

<!-- Проиграет "snd.mp3" последовательно: -->
<a href="javascript:playAudioSync ('snd')">PlayAudioSync</a><br />
<!-- ...асинхронно: -->
<a href="javascript:playAudio ('snd')">PlayAudio</a>

Для демонстрации примера нужен JavsScript.

14.08.2017