Riutilizzare o rimuovere un'istanza MediaPlayer

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

Reimpostare o riutilizzare un'istanza MediaPlayer

Quando si reimposta un MediaPlayer viene ripristinato lo stato IDLE non inizializzato come definito in MediaPlayerStatus

  • Si desidera riutilizzare un MediaPlayer ma deve caricare un nuovo MediaResource (contenuto video) e sostituisci l’istanza precedente.

    Il ripristino consente di riutilizzare MediaPlayer senza il sovraccarico di rilasciare le risorse, ricreando il MediaPlayere la riallocazione delle risorse.

  • Quando MediaPlayer è nello stato ERROR e deve essere cancellato.

    IMPORTANTE

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

    1. Chiamata reset per restituire il MediaPlayer istanza al relativo stato non inizializzato:

      void reset() throws MediaPlayerException;
      
    2. Utilizzare MediaPlayer.replaceCurrentResource() per caricare un altro MediaResource.

      NOTA

      Per cancellare un errore, carica lo stesso MediaResource.

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

Rilasciare un’istanza MediaPlayer e le relative risorse

È necessario rilasciare una MediaPlayer e le risorse quando non hai più bisogno del MediaResource.

Quando si rilascia una MediaPlayer oggetto, le risorse hardware sottostanti associate a questo MediaPlayer oggetto deallocato.

Di seguito sono riportati alcuni motivi per cui è necessario rilasciare una MediaPlayer:

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

  • Lasciando un MediaPlayer l'istanza dell'oggetto può causare un consumo continuo di batteria 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.

  • Rilasciare MediaPlayer.

    void release() throws MediaPlayerException;
    
    NOTA

    Dopo il MediaPlayer è stata rilasciata, non è più possibile utilizzarla. Se è stato utilizzato un metodo MediaPlayer viene chiamata dopo il rilascio, un MediaPlayerException viene lanciato.

In questa pagina