Information Technology Reference
In-Depth Information
So einfach dieses Beispiel erscheint, so komplex sind die Vorgänge beim Laden
eines Mediastreams. Die Spezifikation unterscheidet dabei zwischen
network
state
und
ready state
und widmet diesen beiden Zuständen im
HTMLMediaEle-
ment
-Interface zwei
readonly
-Attribute mit mehreren Konstanten zur Beschrei-
bung des jeweiligen Zustands.
Zum Monitoring des Netzwerkstatus dient das Attribut
networkState
. Es kann
zu jeder Zeit abgefragt werden und liefert folgende Statuscodes zurück:
Wert
Konstante
Erklärung
0
NETWORK_EMPTY
Das Video/Audio wurde noch nicht initialisiert.
1
NETWORK_IDLE
Die Quelle für das Video/Audio ist ausgewählt, wird
aber zum gegenwärtigen Zeitpunkt gerade nicht
geladen.
2
NETWORK_LOADING
Der Browser lädt aktiv das Video/Audio.
3 NETWORK_NO_SOURCE
Es kann keine passende Quelle für das Video/Audio
gefunden werden.
Tabelle 4.5:
Konstanten des »networkState«-Attributs
Beim Wählen der passenden Quelle müssen Sie im Auge behalten, dass es
dafür ja zwei Möglichkeiten gibt: entweder über ein
src
-Attribut des jeweiligen
Elements oder über mehrere
source
-Elemente, aus denen der Browser sich
das passende auswählt. Wenn wir mit mehreren
source
-Elementen bei einem
Video arbeiten, stellt sich die Frage, woher wir wissen, welches der angebote-
nen Elemente tatsächlich vom Browser ausgewählt wurde. Die Antwort liefert
das
readonly
-Attribut
video.currentSrc
. Im Screenshot des Video-Players er-
kennen Sie es links unten vor dem Copyright-Vermerk.
Nicht nur der Browser beim Auswählen des passenden
source
-Elements, sondern
auch der Programmierer in seinem Script kann aktiv abfragen, ob Medientypen
vom jeweiligen Browser unterstützt werden oder nicht. Die Methode dazu lautet
canPlayType(type)
und verlangt einen entsprechenden Medientyp als Argument.
Als Antwort bekommt man dann
probably
, wenn sich der Browser ziemlich sicher
ist, dass er das Format abspielen kann,
maybe
, wenn er eher skeptisch ist, oder
''
als leere Zeichenkette, wenn er ganz sicher nichts damit anfangen kann.
HINWEIS
Probieren Sie selbst aus, was
canPlayType(type)
für eine Auswahl gängiger
Typen in Ihrem Browser zurückliefert:
http://html5.komplett.cc/code/chap_video/js_canPlayType.html