2010-09-09 21 views
11

Je travaille sur les détails d'une application web qui implique le chargement séquentiel d'une longue série de clips vidéo (très courts), l'un après l'autre, avec une entrée occasionnelle de l'utilisateur pour définir les clips vidéo à charger.Puis-je précharger plusieurs ressources vidéo pour charger le même élément HTML5 <video>?

Je souhaite que le navigateur puisse précharger les clips vidéo cinq à la fois. Cependant, la façon dont le site fonctionne actuellement est au moyen d'un seul élément vidéo dont l'attribut src est continuellement mis à jour via JavaScript.

Existe-t-il un moyen simple de demander au navigateur de précharger plusieurs clips vidéo même si je les charge tous (un à la fois) dans le même élément vidéo?

+4

Très bien exprimé, très clair. Bienvenue sur Stack Overflow! –

+0

Merci! Je n'étais pas sûr si la question était trop vague ou générale. – Sergio1132

+0

J'essaie de faire quelque chose de similaire pense que je pourrais être proche. cette api aide vraiment à voir le fonctionnement interne et comment les utiliser poster quand j'ai fini –

Répondre

3

Vous pouvez précharger des images dans les navigateurs en créant une balise <img> en JavaScript et en définissant son attribut src. Bien que cela ne soit requis par aucune spécification, tous les navigateurs téléchargent l'image et la mettent en cache (en supposant que leurs caches n'ont pas été désactivés).

Je ne sais pas si cela fonctionne avec l'élément <video> en HTML5, mais cela pourrait être le cas. Pourriez-vous essayer?

+0

J'ai essayé quelque chose de similaire, mais mon problème est que la page est conçue pour avoir seulement un élément

+0

Je devrais expliquer que l'élément vidéo en question est fondamentalement la page entière. Je suppose que j'ai besoin d'un moyen de dire au navigateur de récupérer un ensemble de fichiers et de les mettre en cache jusqu'à ce qu'il soit temps de les charger un à la fois dans l'élément vidéo. Et j'ai besoin que cela se produise en JavaScript car les fichiers nécessaires changent en fonction de l'entrée de l'utilisateur. – Sergio1132

+2

@ Sergio1132: ah, donc le navigateur ne semble pas mettre en cache les fichiers vidéo. Dans ce cas, je pense que vous devrez modifier votre approche - créer des éléments supplémentaires '

-1

J'étais curieux de savoir si vous aviez fini le projet sur lequel vous travailliez? J'expérimente avec un lecteur vidéo html5 avec une liste de lecture et je me demandais si vous avez rencontré de gros problèmes. Y a-t-il eu des problèmes de performance avec le chargement/la lecture de plusieurs fichiers vidéo? Avez-vous pu l'utiliser sur un iPad? Avez-vous eu un repli pour IE?

Mon approche allait être: avoir un seul élément <canvas> avec plusieurs éléments cachés <video> et utiliser la fonction drawImage() de la toile pour afficher et fondre des vidéos.