multi video testing
by Craig Martin
HTML
<video id="v1" poster=“video.png” controls mediagroup="a11y_vid" class="inactive">
<source src=“http://video.webmfiles.org/big-buck-bunny_trailer.webm” type=”video/webm”>
<source src=“video.mp4” type=”video/mp4”>
</video>
<video id="v2" poster=“sign_asl.png” mediagroup="a11y_vid" >
<source src=“http://video.webmfiles.org/big-buck-bunny_trailer.webm” type=”video/webm”>
<source src=“sign_asl.mp4” type=”video/mp4”>
</video>
<video id="v3" poster=“sign_bsl.png” mediagroup="a11y_vid" class="inactive">
<source src=“http://video.webmfiles.org/big-buck-bunny_trailer.webm” type=”video/webm”>
<source src=“sign_bsl.mp4” type=”video/mp4”>
</video>
<video id="v4" poster=“sign_asf.png” mediagroup="a11y_vid" class="inactive">
<source src=“http://video.webmfiles.org/big-buck-bunny_trailer.webm” type=”video/webm”>
<source src=“sign_asf.mp4” type=”video/mp4”>
</video>
CSS
video.inactive { display: none; }
JavaScript
interface HTMLMediaElement : HTMLElement {
[...]
// media controller
attribute DOMString mediaGroup;
attribute MediaController? controller;
};
enum MediaControllerPlaybackState { "waiting", "playing", "ended" };
[Constructor]
interface MediaController : EventTarget {
readonly attribute unsigned short readyState; // uses HTMLMediaElement.readyState's values
readonly attribute TimeRanges buffered;
readonly attribute TimeRanges seekable;
readonly attribute unrestricted double duration;
attribute double currentTime;
readonly attribute boolean paused;
readonly attribute MediaControllerPlaybackState playbackState;
readonly attribute TimeRanges played;
void pause();
void unpause();
void play(); // calls play() on all media elements as well
attribute double defaultPlaybackRate;
attribute double playbackRate;
attribute double volume;
attribute boolean muted;
attribute EventHandler onemptied;
attribute EventHandler onloadedmetadata;
attribute EventHandler onloadeddata;
attribute EventHandler oncanplay;
attribute EventHandler oncanplaythrough;
attribute EventHandler onplaying;
attribute EventHandler onended;
attribute EventHandler onwaiting;
attribute EventHandler ondurationchange;
attribute EventHandler ontimeupdate;
attribute EventHandler onplay;
attribute EventHandler onpause;
attribute EventHandler onratechange;
attribute EventHandler onvolumechange;
};
videos = document.getElementsByTagName("video");
for (i=0; i < videos.length; i++) {
if (videos[i].currentSrc.match(/asf/g).length > 0) {
videos[i].class = "";
} else {
videos[i].class = "active";
}
}