從您建立MediaPlayer實例的一刻到終止(重用或刪除)它的一刻,此實例完成狀態之間的一系列過渡。
僅當播放器處於特定狀態時才允許某些操作。 例如,調用 play
不允許使用IDLE。 僅當播放器達到PREPARED狀態後才可調用此狀態。
要使用狀態,請執行以下操作:
可以檢索 MediaPlayer
對象 MediaPlayer.status
屬性。
function get status():String;
狀態清單在中定義 MediaPlayer.PlayerStatus
。
生命週期的狀態轉換圖 MediaPlayer
實例:
下表提供了更多詳細資訊:
媒體播放器狀態 | 在 |
---|---|
空閒 | 應用程式通過實例化請求了新媒體播放器 媒體播放器 。 新建立的播放器正在等待您指定媒體播放器項。 |
初始化 | 您的應用程式已調用 MediaPlayer.replaceCurrentResource ,媒體播放器正在載入。 |
已初始化 | TVSDK已成功設定媒體播放器項。 |
準備 | 您的應用程式已調用 MediaPlayer.prepareToPlay 。 媒體播放器正在載入媒體播放器項目和相關資源。 提示:可能會發生主媒體的緩衝。 TVSDK正在準備媒體流並嘗試執行廣告解析和廣告插入(如果已啟用)。 提示:要將開始時間設定為非零值,請調用 準備播放(開始時間) 以毫秒為單位。 |
準備 | 準備內容,廣告已插入時間軸,或廣告過程失敗。 可以開始緩衝或回放。 |
播放 | 您的應用程式已調用 玩 ,所以TVSDK正在嘗試播放視頻。 在視頻實際播放之前可能會發生一些緩衝。 |
已暫停 | 當應用程式播放和暫停媒體時,媒體播放器會在此狀態和播放之間移動。 |
尋找 | 媒體播放器在暫停或播放時正在尋找正確的位置。 要確定搜索何時開始或結束,請收聽 SeekEvent.SEEK_BEGIN 和 SeekEvent.SEEK_END 事件。 |
已完成 | 播放器到達流的末尾,播放已停止。 |
已發佈 | 您的應用程式已發佈媒體播放器,該播放器還會釋放任何相關的資源。 您不能再使用此實例 |
錯誤 | 進程期間出錯。 錯誤還可能會影響應用程式下一步的操作。 |
您可以使用狀態來提供有關該進程的反饋(例如,在等待下一個狀態更改時使用旋轉器)或在播放媒體時採取下一步,例如在調用下一個方法之前等待適當的狀態。