Vorwort
Grundlagen
Layout
Zeit
Überblick
Zeit: Die vierte Dimension
Synchronisationselemente
Ereignisbasierte Synchronisation
Logische Synchronisation
Das Zeitmodul
Die variable Zeit
Bild, Text und Ton
SMIL und HTML
Referenz
Beispiele
Anhang
Quellen
|
3. Zeitliche Steuerung und Synchronisation
3.5. Logische Synchronisation
Mit dem <switch>-Element lässt sich eine Folge von Alternativen definieren, aus denen vom Player in Abhängigkeit von bestimmten Testparametern eine Alternative ausgewählt wird. Das <switch>-Element besteht aus einem <switch>-Eröffnungstag und einem </switch>-Endtag. Die Wahlmöglichkeiten werden von den beiden Tags eingeschlossen:
<switch>
<Wahl 1 Testattribut="Wert 1" />
<Wahl 2 Testattribut="Wert 2" />
</switch>
Die Wahl wird meist zwischen einzelnen Medienobjekten, wie <video Testattribut="Wert" /> getroffen; es können aber auch Gruppen von Objekten, die durch <par>- oder <seq>-Elemente zusammengefasst wurden, zur Wahl gestellt werden.
Gewählt wird jeweils die erste Alternative, die
- ein SMIL-Element darstellt,
- ein zulässiges Medienelement aufweist,
- sämtliche Testattribute als wahr bewertet erhält.
Die Wahlmöglichkeiten auf der Basis entsprechender Testattribute sind ziemlich umfangreich. Die folgenden Beispiele sollen einige Wahlmöglichkeiten demonstrieren:
- Wahl der optimalen Übertragungsgeschwindigkeit
In diesem Beispiel wird das <switch>-Element benutzt, um zwischen mehreren Bitraten auszuwählen:
<par>
<text .../>
<switch>
<par system-bitrate="40000">
...
</par>
<par system-bitrate="24000">
...
</par>
<par system-bitrate="10000">
........
</par>
</switch>
</par>
- Wahl unterschiedlicher Audioquellen je nach Übertragungsgeschwindkeit
Im folgenden Beispiel werden Audioquellen unterschiedlicher Qualtät übertragen, je nachdem welche Übertragungsgeschwindigkeit zur Verfügung steht:
<switch>
<audio src="bessere-audioversion" system-bitrate="16000" />
<audio src="audioversion" system-bitrate="8000" />
</switch>
...
- Wahl der Sprachversion eines Audioclips in Abhängkeit von der Sprache des Betriebssystems
Im folgenden Beispiel werden unterschiedliche Sprachversion einer Audiodatei ausgewählt:
<switch>
<audio src="audio-französich" system-language="fr" />
<audio src="audio-deutsch" system-language="de" />
</switch>
- Wahl der Bildschirmgröße und –tiefe in Abhängigkeit von den technischen Gegebenheiten des Nutzers
Im folgenden Beispiel werden Bildschirme unterschiedlicher Größe und unterschiedlicher Farbtiefe zur Auswahl angeboten:
<par>
<text .../>
<switch>
<par system-screen-size="1280X1024" system-screen-depth="16">
........
</par>
<par system-screen-size="640X480" system-screen-depth="32">
...
</par>
<par system-screen-size="640X480" system-screen-depth="16">
...
</par>
</switch>
</par>
- Wahl unterschiedlicher Textpräsentationsformen für Videos: Börsenticker oder Untertitel
Im folgenden Beispiel wird einmal ein laufender Börsenticker oder eine Untertitelung eingeblendet:
<seq>
<par>
<audio src="audio.rm" />
<video src="video.rm" />
<textstream src="stockticker.rtx" />
<textstream src="closed-caps.rtx" system-captions="on" />
</par>
</seq>
- Wahl zwischen unterschiedlichen Sprachversionen mit Ton bzw. Untertiteln eines Films
Im folgenden Beispiel ist ein- und derselbe französischesprachige Film sowohl als Tonfilm in unterschiedlichen Fremdsprachversionen als auch als Stummfilm mit unterschiedlich fremdsprachlichen Untertiteln verfügbar:
...
<par>
<switch>
<audio src="movie-aud-en.rm" system-language="en" system-overdub-or-caption="overdub" />
<audio src="movie-aud-de.rm" system-language="de" system-overdub-or-caption="overdub" />
<audio src="movie-aud-nl.rm" system-language="nl" system-overdub-or-caption="overdub" />
<!-- Französisch für den Rest -->
<audio src="movie-aud-fr.rm" />
</switch>
<video src="movie-vid.rm" />
<switch>
<textstream src="movie-caps-en.rtx" system-language="en" system-overdub-or-caption="caption" />
<textstream src="movie-caps-de.rtx" system-language="de" system-overdub-or-caption="caption" />
<textstream src="movie-caps-nl.rtx" system-language="nl" system-overdub-or-caption="caption" />
<!-- Französische Untertitel -->
<textstream src="movie-caps-fr.rtx" system-captions="on" />
</switch>
</par>

|