重設、重複使用或移除MediaPlayer例項

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

當您重設MediaPlayer例項時,它會傳回至MediaPlayerState中定義的未初始化IDLE狀態。

此操作在以下情況下非常有用:

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

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

  • MediaPlayer處於ERROR狀態且需要清除時。

    重要

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

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

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

    秘訣

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

  3. 當您收到STATUS_CHANGED事件回呼並且狀態為PREPARED時,請啟動播放。

發行MediaPlayer實例和資源

當您不再需要MediaResource時,應該發行MediaPlayer實例和資源。

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

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

  • 保留不必要的資源可能會影響效能。
  • 留下不必要的MediaPlayer物件可持續耗用行動裝置的電池。
  • 如果裝置不支援同一視訊codec的多個執行個體,其他應用程式可能會發生播放失敗。
  1. 釋放MediaPlayer

    void release() throws IllegalStateException;
    

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

本頁內容