HOME - SMIL: Version 1.0 vom 04.04.2000 © Wolfgang von Keitz


Vorwort
Grundlagen
Layout

Zeit

Bilder und Texte
SMIL und HTML
Referenz
Beispiele
Anhang
Quellen

3. Zeitliche Steuerung und Synchronisation

3.4. Ereignisbasierte Synchronisation

In den vorausgegangenen Beispielen wurde die Synchronisation von Objekten entweder über eine klar definierte Zeitschiene oder über Objektgruppierungen und Objektfolgen gesteuert.

Bei der ereignisbasierten Synchronisation wird die Präsentation eines Medienobjekts oder einer Gruppe von Objekten vom Eintreten eines bestimmten Ereignisses abhängig gemacht. Unter einem Ereignis versteht man beispielsweise den Beginn oder das Ende der Präsentation eines Medienobjekts oder einer Gruppe von Objekten.

3.4.1. Ereignisbasierte Synchronisation von Medienobjekten

Bei der ereignisbasierten Synchronisation von Medienobjekten wird der Beginn oder das Ende der Präsentation eines Medienobjekts vom Beginn oder dem Ende der Präsentation eines anderen Medienobjekts anhängig gemacht. Die ereignisbasierte Synchronisation von Medienobjekten kennt drei Varianten, die mit folgender Syntax spezifiziert werden:

  1. Beginne die Präsentation eines Objekts, wenn wenn die Präsentation eines anderen Objekts begonnen wird:

    <Medienelementtag src="..." begin="id(specifiedId)(begin)" />

    Im Medienelement wird zunächst durch das src-Attribut das Medienobjekt spezifiziert, das präsentiert werden soll. Es folgt dann das begin-Attribut, in dem festgelegt wird, wann das im src-Attribut spezifizierte Medienobjekt präsentiert werden soll. Der Wert des begin-Attributs wird durch "id" eingeleitet; es folgen in der ersten Klammer die eindeutige Benennung des Objekts, von dessen Präsentationsbeginn die Präsentation des im src-Attribut spezifizierten Medienobjekts abhängig gemacht wird. In der zweiten Klammer wird die Art des Ereignisses festgelegt, von dem der Präsentationsbeginn des im src-Attribut spezifizierten Medienobjekts abhängig gemacht wird. In diesem Fall lautet die Art des Ereignisses "begin".


  2. Starte ein Objekt 3 Sekunden nach einem anderen Objekt:

    <Medienelementtag src="..." begin="id(specifiedId)(3s)" />

    In diesem Fall ändert sich die Angabe in der zweiten Klammer des begin-Attributs; jetzt wird in der zweiten Klammer die Zeit spezifiziert "3 Sekunden", die vergehen soll, bis das im src-Attribut spezifizierte Medienobjekt präsentiert wird.

    In dem folgenden Beispiel wird "bild2.jpg" 2 Sekunden nach dem Start von "bild.jpg" eingeblendet.
  3. <smil>
    <head>
      <layout>
       <root-layout width="300" height="300" 
            background-color="white" />
       <region id="bild1" left="25" top="25" 
            width="216" height="181" />
    <region id="bild2" left="125" top="125" 
            width="216" height="181" />
      </layout>
     </head>
     <body>
      <par>
       <img src="bild.jpg" region="bild1" id="me" begin="4s" />
       <img src="bild2.jpg" region="bild2" begin="id(me)(2s)" />
      </par>
     </body>
    </smil>
    
  4. Starte ein Objekt, wenn ein anderes Objekt endet:

    <Medienelementtag src="..." begin="id(specifiedId)(end)" />

    Auch in diesem Fall ändert sich die Angabe in der zweiten Klammer des begin-Attributs. Jetzt wird der Wert "end" eingetragen.
3.4.2. Ereignisbasierte Synchronisation einer <par>-Objektgruppe

Mit der ereignisbasierten Synchronisation einer <par>-Objektgruppe wird die Synchronisation mehrerer Medienobjekte geregelt. Wird keine weitere Regelung getroffen, endet die simultane Präsentation der Medienobjekte der Objektgruppe, wenn die Präsentation des Objekts beendet ist, das die längste Präsentationszeit besitzt. Mit dem endsync-Attribut des <par>-Elements kann dies geändert werden. Folgende Varianten sind möglich:

  1. Die Präsentation der Gruppe endet, wenn die Präsentation des zeitlich ersten Objekts beendet wird. In diesem Fall lautet der Wert des endsync-Attributs "first":

    <par endsync="first"
    ...
    </par>


  2. Die Präsentation der Gruppe endet, wenn die Präsentation des zeitlich letzten Objekts beendet ist. In diesem Fall lautet der Wert des endsync-Attributs "last".

    <par endsync="last"
    ...
    </par>

    Da dieser Fall bereits voreingestellt ist, kann die Angabe des endsync-Attributs entfallen.


  3. Die Präsentation der Gruppe endet, wenn die Präsentation eines bestimmten Objekts beendet ist. In diesem Fall muss spezifiziert werden, um welches Objekt es sich handelt. Dies geschieht wie folgt:

    <par endsync="id(clipid)"
    ...
    </par>

    Mit "clipid" wird die id des Objekts spezifiziert, von dessen Präsentationsende das Präsentationsende der Gruppe anhängig gemacht wird.