Ordine degli eventi di riproduzione

Ultimo aggiornamento: 2023-09-21

TVSDK invia eventi/notifiche in sequenze generalmente previste. Il lettore può implementare azioni basate sugli 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 per la 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 live/lineari, durante la riproduzione man mano che la finestra di riproduzione avanza e vengono risolte opportunità aggiuntive, l’ordine degli eventi è:

    • MediaPlayerItemEvent.ITEM_UPDATED
    • TimelineEvent.TIMELINE_UPDATED se sono stati inseriti annunci

L’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;
    ...
}

In questa pagina