3. Zeitliche Steuerung und Synchronisation
3.2. Zeit: Die vierte Dimension
In den vorausgegangenen Beispielen wurde die Präsentation der Bilder zeitlich durch die voreingestellte Präsentationsdauer von 5 Sekunden begrenzt. Werden wie im letzten Beispiel nicht nur ein sondern zwei Bilder präsentiert, so wird jedes Bild als eigenständige Präsentation mit jeweils 5 Sekunden Präsentationsdauer sichtbar. Zuerst wird Bild 1 sichtbar und danach Bild 2. Eine zeitliche Steuerung der Präsentation wurde bislang nicht angewandt.
In SMIL werden zwei Strategien benutzt, um die Präsentationszeit zu steuern:
- Steuerung des Präsentationsbeginns, der Präsentationsdauer und des Präsentationsendes eines Medienobjekts durch die Spezifizierung der entsprechenden Attribute der Medienelemente;
- Steuerung und Synchronisation des Präsentationsbeginns, der Präsentationsdauer und des Präsentationsendes mehrerer Medienobjekte durch die Verwendung von Synchronisationselementen.
Das Zeitmodell von SMIL kennt einen impliziten, expliziten, gewünschten und tatsächlichen Beginn der Präsentation eines Objekts. Dasselbe gilt für die Dauer der Präsentation und deren Ende.
Jedes Element hat im Lauf einer Präsentation einen impliziten Startzeitpunkt. Im untenstehenden Beispiel werden zwei Bilder präsentiert. Zunächst wird "Smily" präsentiert, danach folgt "Melonen". Durch die Reihenfolge der beiden Elemente im SMIL-Dokument ist der implizite Startzeitpunkt jedes Elements festgelegt. So kann der implizite Startzeitpunkt des zweiten Elements nie vor dem Startzeitpunkt des ersten Elements liegen.
<smil>
<head>
<layout>
<root-layout width="247" height="216" background-color="yellow" />
<region id="region_1" left="8" top="10" width="216" height="181"
background-color="white" fit="slice" />
</layout>
</head>
<body>
<img id="smily" src="bild2.jpg" region="region_1" />
<img id="melonen" src="melonen.jpg" region="region_1" />
</body>
</smil>
Durch hinzufügen eines begin-Attributs kann dem Element ein expliziter Startzeitpunkt zugewiesen werden. Dasselbe gilt für den Endpunkt und die Dauer der Präsentation eines Objekts. Durch hinzufügen des entsprechenden Attributs kann ein expliziter Endpunkt der Präsentation bzw. eine explizite Präsentationsdauer definiert werden.
Der gewünschte Startzeitpunkt eines Elements entspricht immer dann dem expliziten Startzeitpunkt, wenn ein expliziter Startzeitpunkt definiert wurde; wurde kein expliziter Startzeitpunkt definiert, entspricht der gewünschte Startzeitpunkt dem impliziten Startzeitpunkt.
Jedes Element hat einen tatsächlichen Startzeitpunkt und ein tatsächliches Präsentationsende. Die Dauer der Präsentation entspricht der Differenz des tatsächlichen Startzeitpunktes und des tatsächlichen Präsentationsendes.
In diesem Abschnitt wird auf die zeitliche Steuerung eines Medienobjekts mit Hilfe der begin-, dur- und end-Attribute der Medienobjekte eingegangen. Die zeitliche Steuerung und Synchronisation mehrerer Medienobjekte mit Hilfe von Synchronisationselementen wird im nächsten Abschnitt besprochen.
3.2.1. Das dur-Attribut
Soll ein Objekt nur für eine bestimmte Zeit sichtbar sein, so wird dies über eine Zeitangabe im Multimediaobjekt-Element gesteuert. So wird im folgenden Beispiel
durch Angabe der Dauer der Präsentation im dur-Attribute des img-Elemente das
Bild für 3 Sekunden sichtbar.
<smil>
<head>
<layout>
<root-layout width="300" height="200"
background-color="white" />
<region id="bild" left="75" top="50"
width="116" height="81" fit="fill" />
</layout>
</head>
<body>
<img src="bild.jpg" alt="Bild" region="bild" dur="3s" />
</body>
</smil>
3.2.2. Das begin-Attribute
Soll das Bild nicht direkt mit dem Start des Players sondern erst nach
einer bestimmten Zeit sichtbar werden, kann dies durch das begin-Attribute erreicht
werden. In unserem Beispiel wird das Bild nach 2 Sekunden für 3 Sekunden eingeblendet:
<smil>
<head>
<layout>
<root-layout width="300" height="200"
background-color="white" />
<region id="bild" left="75" top="50"
width="116" height="81" fit="fill" />
</layout>
</head>
<body>
<img src="bild.jpg" alt="Bild" region="bild" dur="3s" begin="2s" />
</body>
</smil>
Das begin-Attribut kann für ein Multimediaobjekt oder eine Gruppe von
Objekten benutzt werden. Im obenstehenden Beispiel <img src="bild.jpg" alt="Bild" region="bild" dur="6s" begin="2s" /> wird "bild.jpg" 2 Sekunden nach dem Start des Players eingeblendet. Eine Zeitangabe kann in Kurzform und in Langform angegeben werden. Zeitangaben in Kurzform können wie folgt spezifiziert werden:
- 2.5h bedeutet 2 Stunden und 30 Minuten,
- 2.75min bedeutet 2 Minuten und 45 Sekunden,
- 15.55s bedeutet 15 Sekunden und 550 Millisekunden,
- 670.2ms bedeutet 670,2 Millisekunden.
Zeitangaben in Langform entsprechen dem Format hh:mm:ss.xy.
Soll ein Objekt für 2 Minuten und 25 Sekunden eingeblendet werden, so lautet die entsprechende Zeitangabe für das begin-Attribut "00:02:25.0". Da der Realplayer die letyte Zeitangabe automatisch als Sekunden interpretiert, kann die Zeitangabe auf "02:25" verkürzt werden.
3.2.3. Das end-Attribute
So wie mit dem begin-Attribut die Einblendung eines Multimediaobjekte
gestartet werden kann, kann mit dem end-Attribute die Einblendung wieder beendet werden.
In Abschnitt 3.2.1. wurde die Dauer der Einblendung des Bildes "bild.jpg" mit
dem dur-Attribut gesteuert: <img src="bild.jpg" alt="Bild" region="bild" dur="6s" begin="2s" />. An die Stelle des dur-Attributes kann das end-Attribut treten. In diesem Fall lautet das Beispiel <img src="bild.jpg" alt="Bild" region="bild" begin="2s" end="8s" />.
3.2.4. Das clip-begin- und clip-end-Attribut
Im Gegensatz zu einzelnene Bildern oder Texten haben Audio- und Videoclips eine eigene, interne Zeitschiene. Begin- und end-Attribute beziehen sich auf eine "externe" Zeitschiene, die vom Start des Players oder von der Einblendung eines einzelnen oder mehrerer Multimediaobjekte definiert wird. Clip-begin- und clip-end-Attribute beziehen sich nicht auf diese "externe" Zeitschiene, sondern sie beziehen sich auf die von den jeweiligen Clips vorgegebene interne Zeitschiene. Mit
<audio src="audio1.rm" clip-begin="10s" clip-end="50s" />
wird der Audioclip nicht von Beginn an präsentiert; vielmehr werden die ersten 9 Sekunden übersprungen, und der Clip wird erst von der zehnten Sekunde an gespielt. Mit dem clip-end-Attribut wird der Clip dann vorzeitig nach 40 Sekunden Spieldauer abgebrochen.
3.2.5. Das fill-Attribut
Mit dem fill-Attribute wird bestimmt, was unmittelbar nach Ablauf eines Clips geschehen soll. Das fill-Attribut kennt zwei Parameter: remove und freeze.
Mit remove wird erreicht, dass das eingeblendete Bild nach Erreichen des Präsentationsendes ausgeblendet wird. Fehlt das fill-Attribut, dient remove als Voreinstellung.
Mit freeze wird erreicht, dass das eingeblendete Bild bzw. der letzte Frame eines Videos als Standbild eingeblendet bleibt. Beispiel:
<video src="video1.rm" dur="30s" fill="freeze" />
Das fill-Attribut hat keine Bedeutung bei Audiopräsentationen.
|