Заметки / Параллельное воспроизведение звуков в браузере
|
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>
Протестировать скрипт можно кликнув несколько раз подряд по ссылке:
PlayAudioSync
PlayAudio
Для демонстрации примера нужен JavsScript.
|
|