重複使用或移除MediaPlayer例項

您可以重設、重複使用或發行您不再需要的MediaPlayer例項。

重設或重複使用MediaPlayer例項

當您重設MediaPlayer實例時,該實例將返回到MediaPlayerStatus中定義的未初始化的IDLE狀態

  • 您想要重複使用MediaPlayer例項,但需要載入新的MediaResource(視訊內容)並取代先前的例項。

    重設可讓您重複使用MediaPlayer例項,而不需釋放資源、重新建立MediaPlayer和重新分配資源。

  • MediaPlayer處於「ERROR(錯誤)」狀態且需要清除時。

    重要

    這是從ERROR狀態中恢復的唯一方法。

    1. 調用resetMediaPlayer實例返回其未初始化狀態:

      void reset() throws MediaPlayerException; 
      
    2. 使用MediaPlayer.replaceCurrentResource()載入另一個MediaResource

      注意

      要清除錯誤,請載入相同的MediaResource

    3. 當您收到狀態為PREPAREDSTATUS_CHANGED事件回呼時,請開始播放。

發行MediaPlayer實例和資源

當您不再需要MediaResource時,應釋放MediaPlayer實例和資源。

釋放MediaPlayer對象時,將取消分配與此MediaPlayer對象關聯的基礎硬體資源。

以下是發佈MediaPlayer的一些理由:

  • 保留不必要的資源可能會影響效能。

  • 若保留不必要的MediaPlayer物件實例化,可能會持續耗用行動裝置的電池。

  • 如果裝置不支援同一視訊codec的多個執行個體,其他應用程式可能會發生播放失敗。

  • 釋放MediaPlayer

    void release() throws MediaPlayerException;
    
    注意

    MediaPlayer實例發佈後,您無法再使用它。 如果在MediaPlayer介面發佈後調用了任何方法,則會拋出MediaPlayerException

本頁內容