Html5 audio / jQuery: проблема задержки воспроизведения (предварительная загрузка) - PullRequest
1 голос
/ 09 сентября 2010

Я работаю с html5 audio и сталкиваюсь с некоторыми проблемами с буфером.Это прекрасно работает в Chrome, однако в Safari (и SafMob) наблюдается значительная задержка.Идея проста.Пользователь нажимает на ссылку img, а img «прыгает» и издает звук. Вот пример .

Есть ли способ предварительно загрузить звуковой файл, чтобы он проигрывался быстрее?Опять же, моя главная проблема в браузере 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>

Ответы [ 2 ]

1 голос
/ 10 марта 2012

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

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

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

0 голосов
/ 09 сентября 2010

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

Есть немного больше: Воспроизведение с аудиофайлами или из самой спецификации: атрибут предварительной загрузки .

Не уверен, поможет ли это вообще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...