Another nice feature from the HTML5 draft specification is now available in the WebKit nightly builds for Mac OS X. The new HTML5
<video src=sample.mov autoplay></video>To make a button that gives the user basic playback controls you could do this:
<script> function playPause() { var myVideo = document.getElementsByTagName('video')[0]; if (myVideo.paused) myVideo.play(); else myVideo.pause(); } </script>
<input type=button onclick="playPause()" value="Play/Pause">The specification also defines a set of events that can be used to react to changes in media playback and load state. For example:
myVideo.addEventListener('ended', function () { alert('video playback finished') } );
To play audio from JavaScript you can simply do this:
var audio = new Audio("song.mp3"); audio.play();
The implementation is still a work in progress and not all features (including the ‘controls’ attribute which gives native playback controls) of the specification are there yet. The current implementation supports all formats that QuickTime supports, including installed 3rd party codecs.
The example below uses the ‘poster’ attribute of the
Opera’s implementation is similar, including informative text when the media is not available:
<video controls src="demo.ogg" id="myVideo">Theora decoder not found</video>
Related posts:
November 15th, 2007 at 2:08 am
HTML5 is much saner than prior attempts to update HTML in that all new features have to be designed to fallback *gracefully*, Opera’s “informative text” is part of the spec (and as such is supported by WebKit nightlies) — basically , (which is technically part of html5 despite having existed for more than 2 years now) will be ignored by older browsers which don’t recognise the tags as meaning anything special.
Browsers that recognise these new tags will no to ignore the text/html inside the tags — so you can go .. and those browsers that don’t recognise the tag will render the tag as usual.
March 1st, 2009 at 3:08 pm
i just wanted to say that I love this site