Dal momento in cui viene creata l'istanza MediaPlayer al momento in cui viene terminata (riutilizzata o rimossa), questa istanza completa una serie di transizioni tra gli stati.
Alcune operazioni sono consentite solo quando il lettore si trova in uno stato particolare. Ad esempio, chiamando play
in IDLE non è consentito. Puoi chiamare questo stato solo dopo che il lettore ha raggiunto lo stato READY.
Per utilizzare gli stati:
È possibile recuperare lo stato corrente del MediaPlayer
oggetto utilizzando MediaPlayer.status
proprietà.
function get status():String;
L’elenco degli stati è definito in MediaPlayer.PlayerStatus
.
Diagramma di transizione dello stato per il ciclo di vita di una MediaPlayer
istanza:
La tabella seguente fornisce ulteriori dettagli:
MediaPlayerStatus | Si verifica quando |
---|---|
INATTIVO | L'applicazione ha richiesto un nuovo lettore multimediale creando un'istanza MediaPlayer . Il lettore appena creato è in attesa di specificare un elemento del lettore multimediale. |
INIZIALIZZAZIONE | Chiamata dell'applicazione MediaPlayer.replaceCurrentResource e il lettore multimediale è in fase di caricamento. |
INIZIALIZZATO | TVSDK: impostazione dell'elemento del lettore multimediale completata. |
PREPARAZIONE | Chiamata dell'applicazione MediaPlayer.preparationToPlay . Il lettore multimediale sta caricando l’elemento del lettore multimediale e le risorse associate. Suggerimento: potrebbe verificarsi un buffering del file multimediale principale. TVSDK sta preparando il flusso multimediale e sta tentando di eseguire la risoluzione e l’inserimento degli annunci (se abilitati). Suggerimento: per impostare un valore diverso da zero come ora di inizio, invoca preparationToPlay(startTime) con il tempo in millesimi di secondo. |
PREPARATO | Il contenuto viene preparato e gli annunci sono stati inseriti nella timeline, oppure la procedura dell’annuncio non è riuscita. Può iniziare il buffering o la riproduzione. |
RIPRODUZIONE | L'applicazione ha chiamato play , quindi TVSDK sta tentando di riprodurre il video. Alcuni buffering potrebbero verificarsi prima dell’effettiva riproduzione del video. |
IN PAUSA | Quando l’applicazione riproduce e mette in pausa il contenuto multimediale, il lettore multimediale si sposta tra questo stato e PLAY. |
RICERCA | Il lettore multimediale sta cercando la posizione corretta durante la pausa o la riproduzione. Per determinare quando la ricerca è iniziata o terminata, ascolta SeekEvent.SEEK_BEGIN e SeekEvent.SEEK_END eventi. |
COMPLETATO | Il lettore ha raggiunto la fine del flusso e la riproduzione si è interrotta. |
RILASCIATO | L’applicazione ha rilasciato il lettore multimediale, con tutte le risorse associate. Non è più possibile utilizzare questa istanza |
ERRORE | Si è verificato un errore durante il processo. Un errore può inoltre influire sulle operazioni successive dell'applicazione. |
È possibile utilizzare lo stato per fornire un feedback sul processo (ad esempio, uno spinner in attesa della modifica di stato successiva) o per fare il passaggio successivo nella riproduzione del supporto, ad esempio attendere lo stato appropriato prima di chiamare il metodo successivo.