Dal momento in cui crei l'istanza MediaPlayer al momento in cui la richiedi (riutilizzi o rimuovi), questa istanza completa una serie di transizioni tra stati.
Alcune operazioni sono consentite solo quando il lettore si trova in uno stato particolare. Ad esempio, non è consentito chiamare play
in IDLE. Puoi chiamare questo stato solo dopo che il lettore ha raggiunto lo stato PREPARATO.
Per utilizzare gli stati:
È possibile recuperare lo stato corrente dell'oggetto MediaPlayer
utilizzando la proprietà MediaPlayer.status
.
function get status():String;
L’elenco degli stati è definito in MediaPlayer.PlayerStatus
.
Diagramma di transizione dello stato per il ciclo di vita di un'istanza MediaPlayer
:
La tabella seguente fornisce ulteriori dettagli:
MediaPlayerStatus | Si verifica quando |
---|---|
INATTIVO | L'applicazione ha richiesto un nuovo lettore multimediale creando un'istanza di MediaPlayer . Il lettore appena creato è in attesa di specificare un elemento del lettore multimediale. |
INIZIALIZZAZIONE | L'applicazione ha chiamato MediaPlayer.replaceCurrentResource e il lettore multimediale è in fase di caricamento. |
INIZIALIZZATO | TVSDK: impostazione dell'elemento del lettore multimediale completata. |
PREPARAZIONE | L'applicazione ha chiamato MediaPlayer.PrepareToPlay . Il lettore multimediale sta caricando l'elemento del lettore multimediale e le risorse associate. Suggerimento: Potrebbe verificarsi un buffering del supporto principale. TVSDK sta preparando il flusso multimediale e sta tentando di eseguire la risoluzione degli annunci e l'inserimento di annunci (se abilitato). Suggerimento: Per impostare l'ora di inizio su un valore diverso da zero, chiama PrepareToPlay(startTime) con l'ora in millisecondi. |
PREPARATO | Il contenuto è preparato e gli annunci sono stati inseriti nella timeline oppure la procedura dell’annuncio non è riuscita. È possibile iniziare il buffering o la riproduzione. |
GIOCO | L'applicazione ha chiamato play , quindi TVSDK sta tentando di riprodurre il video. Potrebbe verificarsi un buffering prima che il video venga effettivamente riprodotto. |
IN PAUSA | Quando l'applicazione riproduce e mette in pausa il contenuto multimediale, il lettore multimediale passa da questo stato a PLAYING. |
RICERCA | Il lettore multimediale cerca la posizione corretta durante la pausa o la riproduzione. Per determinare quando la ricerca è iniziata o terminata, ascolta gli eventi SeekEvent.SEEK_BEGIN e SeekEvent.SEEK_END . |
COMPLETATO | Il lettore ha raggiunto la fine del flusso e la riproduzione si è arrestata. |
RILASCIATO | L'applicazione ha rilasciato il lettore multimediale, che rilascia anche le risorse associate. Non puoi più utilizzare questa istanza |
ERRORE | Errore durante il processo. Un errore potrebbe influire anche sulle operazioni che l'applicazione può eseguire in seguito. |
È possibile utilizzare lo stato per fornire un feedback sul processo (ad esempio, un'icona che ruota in attesa della successiva modifica dello stato) o per effettuare il passaggio successivo durante la riproduzione del supporto, ad esempio per attendere lo stato appropriato prima di chiamare il metodo successivo.