Reimpostare, riutilizzare o rimuovere un'istanza di MediaPlayer

È possibile reimpostare, riutilizzare o rilasciare un'istanza MediaPlayer non più necessaria.

Quando si reimposta un'istanza MediaPlayer, viene restituito al relativo stato IDLE non inizializzato come definito in MediaPlayerState.

Questa operazione è utile nei casi seguenti:

  • Desideri riutilizzare un'istanza MediaPlayer ma devi caricare una nuova MediaResource (contenuto video) e sostituire l'istanza precedente.

    La reimpostazione consente di riutilizzare l’istanza MediaPlayer senza sovraccaricare le risorse rilasciate, ricreare l’ MediaPlayer e riallocare le risorse.

  • Quando il MediaPlayer si trova in uno stato ERROR e deve essere cancellato.

    IMPORTANTE

    Questo è l'unico modo per recuperare dallo stato ERROR.

  1. Invoca reset per restituire l'istanza MediaPlayer al suo stato non inizializzato:

    void reset() throws IllegalStateException;
    
  2. Utilizza MediaPlayer.replaceCurrentResource per caricare un altro MediaResource.

    SUGGERIMENTO

    Per cancellare un errore, carica lo stesso MediaResource.

  3. Quando ricevi il callback dell'evento STATUS_CHANGED con stato PREPARED, avvia la riproduzione.

Rilascia un'istanza e risorse MediaPlayer

È necessario rilasciare un'istanza e risorse MediaPlayer quando non è più necessario MediaResource.

Quando si rilascia un oggetto MediaPlayer, le risorse hardware sottostanti associate a questo oggetto MediaPlayer vengono deallocate.

Ecco alcuni motivi per rilasciare un MediaPlayer:

  • L'utilizzo di risorse non necessarie può influire sulle prestazioni.
  • Lasciare un oggetto MediaPlayer non necessario può comportare un consumo continuo di batterie per i dispositivi mobili.
  • Se più istanze dello stesso codec video non sono supportate su un dispositivo, potrebbe verificarsi un errore di riproduzione per altre applicazioni.
  1. Rilascia il MediaPlayer.

    void release() throws IllegalStateException;
    

Una volta rilasciata l’istanza MediaPlayer, non puoi più utilizzarla. Se dopo il rilascio viene chiamato un metodo dell'interfaccia MediaPlayer , viene lanciato un IllegalStateException .

In questa pagina