TVSDK invia eventi/notifiche nelle sequenze generalmente previste. Il lettore può implementare azioni in base agli eventi nella sequenza prevista.
Gli esempi seguenti mostrano l’ordine di alcuni eventi che includono eventi di riproduzione.
Quando si carica correttamente una risorsa multimediale tramite MediaPlayer.replaceCurrentResource
, l'ordine degli eventi è:
MediaPlayerStatusChangeEvent.STATUS_CHANGED
con stato MediaPlayerStatus.INITIALIZING
MediaPlayerItemEvent.ITEM_CREATED
MediaPlayerStatusChangeEvent.STATUS_CHANGED
con stato MediaPlayerStatus.INITIALIZED
Durante la preparazione della riproduzione tramite MediaPlayer.prepareToPlay
, l'ordine degli eventi è:
MediaPlayerStatusChangeEvent.STATUS_CHANGED
con stato MediaPlayerStatus.PREPARING
TimelineEvent.TIMELINE_UPDATED
se sono stati inseriti annunci
MediaPlayerStatusChangeEvent.STATUS_CHANGED
con stato MediaPlayerStatus.PREPARED
Per i flussi in tempo reale/lineare, durante la riproduzione con l'avanzamento della finestra di riproduzione e la risoluzione di ulteriori opportunità, l'ordine degli eventi è:
MediaPlayerItemEvent.ITEM_UPDATED
TimelineEvent.TIMELINE_UPDATED
se sono stati inseriti annunciL’esempio seguente mostra una progressione tipica degli eventi:
mediaPlayer.addEventListener(MediaPlayerItemEvent.ITEM_CREATED, onItemCreated);
public function onItemCreated(event:MediaPlayerItemEvent):void {
var item:MediaPlayerItem = event.item;
...
}
mediaPlayer.addEventListener(MediaPlayerItemEvent.ITEM_UPDATED, onItemUpdated);
public function onItemUpdated(event:MediaPlayerItemEvent):void {
var item:MediaPlayerItem = event.item;
...
}
mediaPlayer.addEventListener(MediaPlayerStatusChangeEvent.STATUS_CHANGED,
onStatusChanged);
public function onStatusChanged(event:MediaPlayerStatusChangeEvent):void {
switch(event.status){
case MediaPlayerStatus.INITIALIZING:
case MediaPlayerStatus.INITIALIZED:
...
}
...
}
mediaPlayer.addEventListener(TimeChangeEvent.TIME_CHANGED, onTimeChanged);
public function onTimeChanged(event:TimeChangeEvent):void {
var timeInMilliseconds:Number = event.time;
...
}