Я был бы счастлив Извините за медленный ответ, я не получил уведомление об этом комментарии

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

http://cs.sandbox.millennialmedia.com/~tkirchner/rich/K/kungFuPanda2_tj/

Предполагается, что когда кто-то нажимает на баннер, появляется всплывающее объявление с полосой загрузки. Панель загрузки загружает все изображения, необходимые для анимации. В то же время, аудио также загружается через аудиотэги, уже включенные в DOM (что нормально). После загрузки всех изображений панель загрузки исчезает, и пользователь может продолжить. В нижней части экрана есть 4 кнопки, на которые они могут нажать. При нажатии на один из них воспроизводится аудиофайл, а изображения выполняют анимацию в стиле флипбука, синхронизируемую со звуком.

Аудио теги:

<audio id="mmviperTrack" src='tigress.mp3'></audio>
<audio id="mmmantisTrack" src='viper.mp3'></audio>
<audio id="mmtigressTrack" src='kungfu3.mp3'></audio>
<audio id="mmcraneTrack" src='crane.wav'></audio>

Прослушиватели событий кнопки воспроизведения:

button.addEventListener('click',function(){
    if ( f.playing ) return false;
    f.playing = true;
    button.audio.play();
},false);

button.audio.addEventListener('playing', function(){
    animate();
}, false);

Проблема в том, что в javascript каждый раз, когда я нажимаю кнопку play (), он перезагружает аудиофайл и затем воспроизводит его. Кажется, я не могу заставить его загружать звук один раз в начале и отключать то, что хранится в памяти, вместо того, чтобы пытаться перезагружать звук каждый раз, когда я нажимаю кнопку.

Я попытался поэкспериментировать со свойствами preload и autobuffer, но кажется, что мобильное сафари игнорирует эти свойства, потому что независимо от того, что я их установил, поведение всегда одинаково. Я пытался экспериментировать с тегами исходного кода и различными форматами файлов ... ничего.

Есть идеи?

Ответы на вопрос(1)

Ваш ответ на вопрос