MediaPlayer物件生命週期

從您建立MediaPlayer例項到您終止(重複使用或移除)該例項時,此例項會完成狀態間的一系列轉換。

某些操作僅在播放器處於特定狀態時才允許。 例如,不允許在IDLE中調用play。 您只有在播放器達到PREPARED狀態後,才可呼叫此狀態。

要使用狀態:

  • 可以使用MediaPlayer.status屬性來檢索MediaPlayer對象的當前狀態。

    function get status():String;
    
  • 狀態清單在MediaPlayer.PlayerStatus中定義。

MediaPlayer實例生命週期的狀態轉移圖:

下表提供其他詳細資訊:

MediaPlayerStatus 發生於
空閒

您的應用程式會執行個體化 MediaPlayer ,以請求新的媒體播放器。 新建立的播放器正在等候您指定媒體播放器項目。

初始化

您的應用程式名為 MediaPlayer.replaceCurrentResource ,且媒體播放器正在載入。

已初始化

TVSDK已成功設定媒體播放器項目。

準備

您的應用程式名為 MediaPlayer.prepareToPlay 。 媒體播放器正在載入媒體播放器項目和相關資源。

提示: 可能會發生主媒體的緩衝。

TVSDK正在準備媒體串流,並嘗試執行廣告解析和廣告插入(如果已啟用)。

提示: 要將開始時間設定為非零值,請調用 prepareToPlay(startTime),時間以毫秒為單位。

準備好

內容已準備好,廣告已插入時間軸,或廣告程式失敗。 可以開始緩衝或播放。

播放

您的應用程式已呼叫 play ,所以TVSDK正嘗試播放視訊。 視訊實際播放前可能會發生一些緩衝。

暫停

當您的應用程式播放和暫停媒體時,媒體播放器會在此狀態和播放之間移動。

搜尋

媒體播放器在暫停或播放時會尋找正確位置。 要確定搜索何時開始或結束,請監聽 SeekEvent.SEEK_BEGIN SeekEvent.SEEK_END 事件。

已完成

播放器到達串流結束,播放已停止。

已發佈

您的應用程式已發佈媒體播放器,而媒體播放器也會發佈任何相關資源。 您無法再使用此例項

錯誤

進程期間發生錯誤。 錯誤也可能會影響應用程式的下一步動作。

秘訣

您可以使用狀態來提供有關程式的意見回應(例如,在等待下一個狀態變更時使用微調按鈕),或在播放媒體時採取下一步驟,例如在呼叫下一個方法之前等待適當的狀態。

本頁內容