Ottenere informazioni sul passaggio a un altro profilo

Quando il lettore multimediale passa a un nuovo profilo, è possibile recuperare informazioni sullo switch, tra cui quando è stato cambiato, informazioni su larghezza e altezza o perché è stato utilizzato un bitrate diverso.

  1. Ascolta la ProfileEvent.PROFILE_CHANGED evento.

    Il lettore multimediale TVSDK invia questo evento quando l’algoritmo di commutazione della velocità in bit adattiva passa a un altro profilo a causa di condizioni di rete o del computer. (quando la velocità di trasmissione o il periodo cambia).

  2. Quando si verifica l'evento, controllare le seguenti proprietà per informazioni sull'opzione:

    • profile: identificatore per il nuovo profilo utilizzato.

    • time: ora del flusso in cui si è verificato il passaggio.

    • description: descrizione testuale del motivo di una modifica della velocità in bit, sotto forma di stringa di coppie chiave/valore separate da punto e virgola. Include un massimo di un elemento Reason e uno Bitrate. Se le informazioni non sono disponibili o la velocità in bit non è stata modificata, la stringa è vuota.

      Nome chiave Valori possibili
      Motivo
      • Adattamento rete
      • Ricerca
      • Profilo non supportato
      • Failover
      Bitrate
      • su : velocità in bit aumentata
      • giù : velocità in bit diminuita

      Ecco alcuni esempi di restituiti description stringhe:

      "Bitrate::=up;Reason::=Network Adaptation;"
      
      "Bitrate::=down;Reason::=Failover;"
      
    • width: numero intero che indica la larghezza in pixel.

    • height: numero intero che indica l’altezza in pixel.

      NOTA

      I dati di larghezza e altezza sono disponibili solo quando sono inclusi nel RESOLUTION nel manifesto M3U8. Se le informazioni non sono incluse in M3U8, le proprietà width e height vengono impostate su 0, in quanto non fanno parte delle informazioni del profilo.

Ad esempio:

_player.addEventListener(ProfileEvent.PROFILE_CHANGED, onProfileChange);
private function onProfileChange(event:ProfileEvent):void {
    _logger.info("#onProfileChange Current profile/bitrate has changed.
      {0} for reason {1} of resolution [ {2} , {3} ]",
      event.profile, event.description, event.width, event.height);
}

In questa pagina