Information Technology Reference
In-Depth Information
4.7.7
Weitere Attribute und Methoden des
»HTMLMediaElement«-Interfaces
Alle Medienelemente (und dazu zählt nicht nur Video, sondern auch Audio) be-
sitzen fünf gemeinsame Attribute, die im HTMLMediaElement -Interface abgebil-
det sind. Neben src als Quelle für den Mediastream sind es die boolean -Attri-
bute autoplay , loop und controls sowie preload mit seinen drei Werten none ,
metadata oder auto . Der Code zum dynamischen Erzeugen eines Videos könnte
damit so aussehen:
var video = document.createElement("VIDEO");
video.src = 'videos/bbb_240p_stereo.ogv';
video.autoplay = false;
video.loop = false;
video.controls = true;
video.preload = 'metadata';
Geladen wird dieses Video allerdings noch nicht, denn erst mit der nächsten Me-
thode des HTMLMediaElement -Interfaces, video.load() , beginnt der eigentliche
Ladevorgang. Damit wir das Video im Browser auch sehen können, müssen wir
es in den DOM-Baum einhängen. Ergänzen wir unser Listing also um zwei Zeilen:
video.load();
document.documentElement.appendChild(video);
Das dynamische Gegenstück zum oncanplay -Attribut des video -Elements un-
seres Video-Players ist ein Event-Listener mit Ereignistyp, Callback-Funktion
sowie einem Flag, das festlegt, ob das Event in der Capture -Phase aktiv werden
soll oder nicht. Verwirrt? Verwenden Sie beim dritten Argument einfach false ,
und aktivieren Sie den Event-Listener damit in der Bubbling -Phase. Wer es ge-
nau wissen will, der kann auch im Netz nachlesen: http://www.quirksmode.org/
js/events_order.html hat die Details. Unser Event-Listener hört auf das Ereig-
nis canplay und beginnt dann sogleich mit dem Abspielen des Films:
video.addEventListener("canplay", function() {
video.play();
}, false);
HINWEIS
Die HTML-Version dieses kurzen Code-Beispiels finden Sie natürlich auch on-
line:
http://html5.komplett.cc/code/chap_video/js_dynamicVideo.html
Search WWH ::




Custom Search