L'oggetto PTMediaPlayer rappresenta il lettore multimediale. Un PTMediaPlayerItem rappresenta audio o video sul lettore.
Una volta caricata correttamente una risorsa multimediale, TVSDK crea un'istanza della classe PTMediaPlayerItem
per fornire l'accesso a tale risorsa.
Il PTMediaPlayer
risolve la risorsa multimediale, carica il file manifesto associato e analizza il manifesto. Questa è la parte asincrona del processo di caricamento delle risorse. L’istanza PTMediaPlayerItem
viene prodotta dopo la risoluzione della risorsa e questa istanza è una versione risolta di una risorsa multimediale. TVSDK fornisce l'accesso all'istanza PTMediaPlayerItem
appena creata tramite PTMediaPlayer.currentItem
.
È necessario attendere che la risorsa venga caricata correttamente prima di accedere all’elemento del lettore multimediale.
Dal momento in cui crei l’istanza PTMediaPlayer
al momento in cui la richiedi (riutilizzi o rimuovi), questa istanza completa una serie di transizioni da uno stato all’altro.
Alcune operazioni sono consentite solo quando il lettore si trova in uno stato particolare. Ad esempio, la chiamata a play
in PTMediaPlayerStatusCreated
non è consentita. Puoi chiamare questo stato solo dopo che il lettore ha raggiunto lo stato PTMediaPlayerStatusReady
.
Per utilizzare gli stati:
PTMediaPlayer.status
.PTMediaPlayerStatus
.Diagramma di transizione dello stato per il ciclo di vita di un'istanza MediaPlayer:
La tabella seguente fornisce ulteriori dettagli:
PTMediaPlayerStatus | Si verifica quando |
---|---|
PTMediaPlayerStatusCreated |
L'applicazione ha richiesto un nuovo lettore multimediale chiamando playerWithMediaPlayerItem. Il lettore appena creato è in attesa di specificare un elemento del lettore multimediale. Questo è lo stato iniziale del lettore multimediale. |
PTMediaPlayerStatusInizializzazione |
L'applicazione chiama PTMediaPlayer.replaceCurrentItemWithPlayerItem e il lettore multimediale è in fase di caricamento. |
PTMediaPlayerStatusInitialized |
TVSDK: impostazione dell'elemento del lettore multimediale completata. |
PTMediaPlayerStatusReady |
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. |
PTMediaPlayerStatusPlay |
L'applicazione ha chiamato play, quindi TVSDK sta tentando di riprodurre il video. Potrebbe verificarsi un buffering prima che il video venga effettivamente riprodotto. |
PTMediaPlayerStatusPaused |
Quando l'applicazione riproduce e mette in pausa il contenuto multimediale, il lettore multimediale passa da questo stato a PTMediaPlayerStatusPlaying. |
PTMediaPlayerStatusCompleted |
Il lettore ha raggiunto la fine del flusso e la riproduzione si è arrestata. |
PTMediaPlayerStatusStopped |
L'applicazione ha rilasciato il lettore multimediale, che rilascia anche le risorse associate. Non puoi più utilizzare questa istanza |
PTMediaPlayerStatusError |
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.