2009-09-29 9 views
1

J'essaie de faire un lecteur multimédia basé sur le Web en utilisant l'élément audio HTML5 mis en œuvre dans Firefox 3.5 et Chrome. Lecture Mozillas documentation, en omettant l'attribut autobuffer devrait se traduire par la src audio ne pas être demandé:<audio> Autobuffers élément quelle que soit

si cela est spécifié, l'audio commencera automatiquement le téléchargement, même si pas configuré pour lire automatiquement. Cela continue jusqu'à ce que le cache des médias est plein, ou le fichier audio entier a été téléchargée, selon la première éventualité

Cependant, du côté du serveur je remarque que les fichiers sont demandés de toute façon. Mon exemple de page est très simple:

<html> 
    <body> 
     <audio src="1.ogg"></audio> 
     <audio src="2.ogg"></audio> 
    </body> 
</html> 
+0

Avez-vous cherché quelque chose à voir dans Mozilla bugtracker? Il pourrait très bien s'agir d'un bug, étant donné la récente prise en charge de l'audio. – kangax

+0

Il y a une référence à un test automatique qui échoue: https://bugzilla.mozilla.org/show_bug.cgi?id=493692 Mais je ne pense pas que ce soit un bug puisque je reçois les mêmes résultats avec Chrome qui a un complètement différent la mise en oeuvre. – pthulin

Répondre

2

Les attributs booléens dans HTML5 ne peuvent pas être faux. Si c'est présent du tout, c'est vrai.

Vous avez été égaré par les habitudes XHTML.

Voir: http://dev.w3.org/html5/spec/Overview.html#boolean-attributes

Quote:

"Les valeurs "true" et "false". Ne sont pas autorisés sur les attributs booléens Pour représenter une fausse valeur, l'attribut doit être complètement omis."

+1

Vous avez raison, mais omettre complètement l'attribut autobuffer ne change pas ce comportement indésirable: les fichiers ogg sont toujours demandés. – pthulin

6

Le autobuffer attribut has been replaced with preload qui accepte les valeurs none, metadata et auto.

Un correctif a été soumis pour WebKit (numéro 35385, malheureusement je ne peux pas le lier), mais il semble qu'il ne soit pas entré dans Safari 4.0.5.

0

Selon l'article « Configuring Servers for Ogg Media », les médias Ogg ne contient pas d'informations sur la durée, afin d'afficher correctement un curseur que vous devez inclure un en-tête X-Content-Duration. Si vous n'incluez pas un tel en-tête, Firefox prélèvera des portions du support * afin qu'il puisse calculer la durée et afficher un curseur.

Cela pourrait être votre problème.

* Il va chercher les premières bouchées, ce qui devrait lui donner un en-tête Content-Length afin qu'il connaisse la taille du fichier. Il utilisera ensuite cette taille de fichier pour récupérer les dernières parties, à partir desquelles il peut calculer la durée. Si votre serveur ne prend pas en charge les requêtes Range, le résultat sera qu'il récupérera le fichier entier.

Questions connexes