Is it possible to preload an html video? Note: the tag is created dynamicly later.
Currently I can do this with images by creating a hidden div and putting all the ima
I had a similar problem in IE, some of the videos are display:none, and when I show them IE doesn't show first frame...
I used the following code to solve it, when I show the hidden videos I call preloadAllVisible()
var preloadAllVisible = function() {
$("video:visible").each(preload);
}
var preload = function(key, vid) {
vid.play();
setTimeout("pausevid("+key+")",100);
}
var pausevid = function(key) {
vid =$("video:visible")[key];
vid.pause();
vid.currentTime = 0;
}
Try this out:
<!DOCTYPE html>
<html>
<body>
<video width="320" height="240" controls="controls" **preload="auto"**>
<source src="movie.mp4" type="video/mp4" />
<source src="movie.ogg" type="video/ogg" />
<source src="movie.webM" type="video/webM" />
Your browser does not support the video tag.
</video>
</body>
</html>
Note: This doesnt work on IE ;), for this you can use some player(simply inclusion of a .js). They have a fallbak of flash for IE use JW Player & JW Player Preload
Njoy!!!