播放事件的順序

瀏覽器TVSDK會依照一般預期的序列來傳送事件/通知。 您的播放器可以根據預期序列中的事件實施動作。

下列範例顯示包含播放事件的某些事件的順序。

  • 通過replaceCurrentResource成功載入媒體資源時,事件順序為:

    • AdobePSDK.MediaPlayerStatusChangeEvent with event.status =

      • MediaPlayerStatus.INITIALIZING
      • MediaPlayerStatus.INITIALIZED
  • 當透過MediaPlayer.prepareToPlay準備播放時,事件的順序為:

    • AdobePSDK.MediaPlayerStatusChangeEvent with event.status =

      • MediaPlayerStatus.PREPARING
      • MediaPlayerStatus.PREPARED

下列範例顯示事件的典型進展:

player.addEventListener(AdobePSDK.PSDKEventType.STATUS_CHANGED,
                                 onStatusChange);

onStatusChange = function (event) {

    switch (event.status) {
        case AdobePSDK.MediaPlayerStatus.IDLE:
            console.log("Player Status: IDLE");
            break;

        case AdobePSDK.MediaPlayerStatus.INITIALIZING:
            console.log("Player Status: INITIALIZING");
            break;

        case AdobePSDK.MediaPlayerStatus.INITIALIZED:
            console.log("Player Status: INITIALIZED");
            player.prepareToPlay();
            break;

        case AdobePSDK.MediaPlayerStatus.PREPARING:
            console.log("Player Status: PREPARING");
            break;

        case AdobePSDK.MediaPlayerStatus.PREPARED:
            console.log("Player Status: PREPARED");
            if (autoPlay) {
                player.play();
            }
            else {
                dispatchEvent(ReferencePlayer.Events.PreparedEvent,
                              {target: this});
            }
            break;

        case AdobePSDK.MediaPlayerStatus.PLAYING:
            console.log("Player Status: PLAYING");
            //update UI play/pause to show pause icon
            break;

        case AdobePSDK.MediaPlayerStatus.PAUSED:
            console.log("Player Status: PAUSED");
            //update UI play/pause to show play icon &
            //display pause icon over video
            break;

        case AdobePSDK.MediaPlayerStatus.SEEKING:
            console.log("Player Status: SEEKING");
            break;

        case AdobePSDK.MediaPlayerStatus.COMPLETE:
            console.log("Player Status: COMPLETE");
            break;

        case AdobePSDK.MediaPlayerStatus.RELEASED:
            console.log("Player Status: RELEASED");
            break;

        case AdobePSDK.MediaPlayerStatus.ERROR:
            console.log("Player Status: ERROR");
            break;
    }
};

本頁內容