使用MediaPlayer物件

PTMediaPlayer物件代表您的媒體播放器。 PTMediaPlayerItem代表播放器上的音訊或視訊。

關於MediaPlayerItem類

媒體資源成功載入後,TVSDK會建立PTMediaPlayerItem類別的例項,以提供該資源的存取權。

PTMediaPlayer會解析媒體資源、載入相關資訊清單檔案,並解析資訊清單。 這是資源載入過程的非同步部分。 PTMediaPlayerItem實例是在資源解析後生成的,該實例是介質資源的已解析版本。 TVSDK可透過PTMediaPlayer.currentItem存取新建立的PTMediaPlayerItem例項。

秘訣

您必須等待資源成功載入,才能存取媒體播放器項目。

MediaPlayer物件生命週期

從您建立PTMediaPlayer例項到您終止(重複使用或移除)該例項的那一刻起,此例項將完成一系列從狀態切換到狀態的切換。

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

要使用狀態:

  • 您可以使用PTMediaPlayer.status擷取MediaPlayer物件的目前狀態。
  • 狀態清單在PTMediaPlayerStatus中定義。

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

下表提供其他詳細資訊:

PTMediaPlayerStatus 發生於

PTMediaPlayerStatusCreated

您的應用程式呼叫 playerWithMediaPlayerItem以要求新的媒體播放器。 新建立的播放器正在等候您指定媒體播放器項目。 這是媒體播放器的初始狀態。

PTMediaPlayerStatusInitializing

您的應用程式會呼叫 PTMediaPlayer.replaceCurrentItemWithPlayerItem,媒體播放器正在載入。

PTMediaPlayerStatusInitialized

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

PTMediaPlayerStatusReady

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

PTMediaPlayerStatusPlaying

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

PTMediaPlayerStatusPaused

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

PTMediaPlayerStatusCompleted

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

PTMediaPlayerStatusStopped

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

PTMediaPlayerStatusError

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

秘訣

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

本頁內容