Riutilizzare o rimuovere un'istanza MediaPlayer

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

Reimpostare o riutilizzare un'istanza di MediaPlayer

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

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 è nello 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 MediaPlayerException;
      
    2. Utilizza MediaPlayer.replaceCurrentResource() per caricare un altro MediaResource.

      NOTA

      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

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.

Di seguito sono riportati alcuni motivi per rilasciare un MediaPlayer:

  • L'utilizzo di risorse non necessarie può influire sulle prestazioni.

  • Se si lascia un oggetto MediaPlayer non necessario, l'istanza può comportare un consumo continuo di batterie per i dispositivi mobili.

  • Se sono presenti più istanze
    Se un dispositivo non supporta lo stesso codec video, potrebbe verificarsi un errore di riproduzione per altre applicazioni.

  • Rilascia il MediaPlayer.

    void release() throws MediaPlayerException;
    
    NOTA

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

In questa pagina