2010-09-08 2 views
1

Я работаю с аудио html5 и сталкиваюсь с некоторыми проблемами с буфером. Это прекрасно работает в Chrome, однако в Safari (и SafMob) наблюдается заметная латентность. Идея проста. Пользователь нажимает ссылку img, а img «прыгает» и производит звук. Here is an example.Html5 audio/jQuery: проблема с задержкой воспроизведения (preload)

Есть ли способ предварительно загрузить звуковой файл, чтобы он воспроизводился быстрее? Опять же, моя главная проблема заключается в браузере Safari/Safari Mobile.

JQuery Я использую:

$("#bell a").click(function() { 
    var snd = new Audio("ping.mp3"); 
    snd.play(); 
    $(this).stop().animate({ marginTop: "-10px" }, 200).animate({ marginTop: "18px" }, 200).animate({ marginTop: "1px" }, 300); 
return false; 
}); 

Это код для кнопки:

<ul id="bell"> 
    <li class="button"><a href="#" title="Pling">Link Text</a></li> 
</ul> 

ответ

0

преднагрузки фактически принимает значение, один из авто, мета или автоматический. Хотя я думаю, что поведение по умолчанию - загрузить весь файл.

Есть немного больше по адресу: Playing with audio files или по самой спецификации: preload attribute.

Не уверен, что это вообще помогает.

1

Избегайте создания нового аудио элемента каждый раз, когда вы нажимаете его, имея глобальную переменную, поэтому вы повторно используете существующий экземпляр.

Затем замените snd.play(); с snd.cloneNode(true).play();

Для меня это имело огромное значение.

Смежные вопросы