HOME - SMIL: Version 2.0 vom 04.04.2005 © Wolfgang von Keitz


Vorwort
Grundlagen
Layout

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:

  1. 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>

  2. 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>

    ...

  3. 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>

  4. 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>

  5. 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>

  6. 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>

zurueck top weiter