在媒體播放器中載入媒體資源

直接執行個體化MediaResource並載入要播放的視訊內容,以載入資源。 這是載入介質資源的一種方法。

  1. 設定媒體播放器以播放新資源。

    呼叫MediaPlayer.replaceCurrentResource()並傳遞現有的MediaResource例項,以取代目前可播放的項目。

    這將啟動資源載入進程。

  2. MediaPlayer實例註冊MediaPlayerEvent.STATUS_CHANGED事件。 在回呼中,請至少檢查下列狀態值:

    • MediaPlayerStatus.PREPARED
    • MediaPlayerStatus.INITIALIZED
    • MediaPlayerStatus.ERROR

    透過這些事件,MediaPlayer物件會在應用程式成功載入媒體資源時通知您。

  3. 當媒體播放器的狀態變更為INITIALIZED時,您可呼叫MediaPlayer.prepareToPlay()

    此狀態表示介質已成功載入。 新的MediaPlayerItem已可供播放。 呼叫prepareToPlay()會啟動廣告解析度和位置處理程式(如果有的話)。

如果發生故障,媒體播放器會切換至ERROR狀態。

以下簡化的范常式式碼說明載入媒體資源的程式:

// mediaResource is a properly configured MediaResource instance 
// mediaPlayer is a MediaPlayer instance 
// register a PlaybackEventListener implementation with the MediaPlayer instance 
mediaPlayer.addEventListener(MediaPlayerEvent.STATUS_CHANGED,  
  new StatusChangeEventListener() { 
    @Override 
    public void onStatusChanged(MediaPlayerStatus status) { 
        if(event.getStatus() == MediaPlayerStatus.PREPARED) { 
            // The resource is successfully loaded and available. The  
            // MediaPlayer is ready to start the playback and can 
            // provide a reference to the current playable item 
            MediaPlayerItem playerItem = mediaPlayer.getCurrentItem(); 
            if (playerItem != null) { 
                // We can look at the properties of the loaded stream 
            } 
        } 
        else if (event.getStatus() == MediaPlayerStatus.ERROR) { 
            //Something bad happened - the resource cannot be loaded. 
            // The Metadata object in the event provides details. 
        } 
        else if (status == MediaPlayerStatus.INITIALIZED) { 
            mediaPlayer.prepareToPlay(); 
        } 
    } 
} 

本頁內容