Die Action-Klasse dient dazu, das Verhalten anderer MHEG-Objekte zu beeinflussen.
In der objektorientierten Terminologie ist ein Action-Objekt ein Aufruf auf
eine Methode eines MHEG-Objektes oder einer virtuellen Sicht. Dabei ist ein
Action-Objekt nicht auf ein bestimmtes Zielobjekt ausgerichtet, sondern kann
für verschiedene Objekte verwendet werden und repräsentiert somit nur
die Schnittstelle zum Methodenaufruf der Objekte, welcher somit für
den Benutzer transparent ist. Es werden oft verschieden ausgeprägte
Action-Objekte gleichen Namens benutzt, die dann für die verschiedenen
Medientypen die gleiche Aktion auslösen (z.B. erfolgt das Anzeigen von
Objekten immer mit der Aktion run).
In Tabellen werden die für verschiedene MHEG-Objekttypen und virtuelle
Sichten sinnvollen Aktionen zugeordnet (Die Aktion set-audio-channel-volume
macht nur bei Audio-Objekten Sinn).
Da Zustandsänderungen von MHEG-Objekten Auslöser für andere Aktionen
sein können, werden in MHEG die wichtigsten Zustandsänderungen durch
einfache Protokollautomaten definiert, so daß zu jeder Zeit der Zustand
eines Objekts abgefragt werden kann.
Es können auch mehrere atomare Aktionen in einem Action-Objekt
zusammengefaßt werden um so komplexere Abläufe in einem Objekt
zu modellieren. Dazu wird im Action-Objekt festgelegt welche
Aktion parallel bzw. seriell ablaufen sollen. Im unten aufgeführten
Beispiel wird parallel zur Start-Aktion gleich die Stop-Aktion mit einer
Verzögerung von 20 sec. initiiert. Dabei besteht die Start-Aktion aus
der seriellen Abarbeitung der atomaren Aktionen Position setzen, Größe
festlegen und dem run-Aufruf.
