2010-09-08 5 views
1

Je travaille avec l'audio html5 et rencontre des problèmes avec le tampon. Cela fonctionne magnifiquement dans Chrome, mais dans Safari (et SafMob), il y a une latence perceptible. L'idée est simple. Un utilisateur clique sur un lien img et l'img "saute" et émet un son. Here is an example.Html5 audio/jQuery: problème de latence de lecture (préchargement)

Existe-t-il un moyen de précharger le fichier son afin qu'il soit plus rapide? Encore une fois, ma principale préoccupation est dans le navigateur Safari/Safari Mobile.

Le jQuery J'utilise:

$("#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; 
}); 

Voici le code pour le bouton:

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

Répondre

0
pré-charge

prend en fait une valeur, l'une des auto, méta ou automatique. Bien que je pense que le comportement par défaut est de télécharger le fichier entier.

Il y a un peu plus à: Playing with audio files ou à partir de la spécification elle-même: preload attribute.

Je ne sais pas si cela aide du tout.

1

Évitez de créer un nouvel élément audio chaque fois que vous cliquez sur l'avoir sur une variable globale, afin de réutiliser l'instance existante.

ensuite remplacer snd.play(); avec snd.cloneNode(true).play();

Pour moi, il a fait une énorme différence.