Class TimelineManager

java.lang.Object
com.brightcove.player.event.AbstractComponent
com.brightcove.ssai.timeline.TimelineManager
All Implemented Interfaces:
Component, PlaybackListener, TickerObserver

@Emits(events="seekTo") @ListensFor(events="skipAd") public class TimelineManager extends AbstractComponent implements TickerObserver, PlaybackListener
Manages the state of the Timeline according to player playhead position.
  • Constructor Details

    • TimelineManager

      public TimelineManager(@NonNull BaseVideoView mBaseVideoView, @NonNull Timeline mTimeline)
  • Method Details

    • getCurrentAbsolutePlayheadPosition

      public long getCurrentAbsolutePlayheadPosition()
      Gets current absolute playhead position.
      Returns:
      the current absolute playhead position
    • getCurrentRelativeDuration

      public long getCurrentRelativeDuration()
      Gets current relative duration.
      Returns:
      the current relative duration
    • getCurrentRelativePlayheadPosition

      public long getCurrentRelativePlayheadPosition()
      Gets current relative playhead position.
      Returns:
      the current relative playhead position
    • isPlayingAd

      public boolean isPlayingAd()
      Checks if an ad is currently being played.
      Returns:
      true if playing an ad.
    • getContentLength

      public long getContentLength()
      Gets the content length.
      Returns:
      the content length
    • getTotalLength

      public long getTotalLength()
      Gets the total length.
      Returns:
      the total length
    • getPlayingAdPod

      @Nullable public AdPod getPlayingAdPod()
      Returns an AdPod if it's currently playing an Ad, otherwise returns null.
      Returns:
      the playing Ad pod
    • getPlayingAd

      @Nullable public Ad getPlayingAd()
    • getTimeline

      @NonNull public Timeline getTimeline()
      Gets the timeline if available.
      Returns:
      the timeline
    • getSeekListener

      public SeekListener getSeekListener()
    • onTick

      public void onTick(long lastPlayheadPositionMillis, long currentPlayheadPositionMillis)
      Description copied from interface: TickerObserver
      A tick represent an poll from the underlying video player.
      Specified by:
      onTick in interface TickerObserver
      Parameters:
      lastPlayheadPositionMillis - the last playhead position in milliseconds
      currentPlayheadPositionMillis - the current playhead position in milliseconds
    • addAdPodListener

      public boolean addAdPodListener(@NonNull AdPodListener adPodListener)
      Adds the Ad pod listener.
      Parameters:
      adPodListener - the Ad pod listener
      Returns:
      true if added successfully
    • removeAdPodListener

      public boolean removeAdPodListener(@NonNull AdPodListener adPodListener)
      Removes the Ad pod listener.
      Parameters:
      adPodListener - the Ad pod listener
      Returns:
      true if removed successfully
    • removeAllAdPodListeners

      public void removeAllAdPodListeners()
      Removed all Ad pod listeners.
    • onPlay

      public void onPlay(long playheadPosition)
      Description copied from interface: PlaybackListener
      Indicates a play event.
      Specified by:
      onPlay in interface PlaybackListener
      Parameters:
      playheadPosition - the playhead position
    • onPause

      public void onPause(long playheadPosition)
      Description copied from interface: PlaybackListener
      Indicates a pause event.
      Specified by:
      onPause in interface PlaybackListener
      Parameters:
      playheadPosition - the playhead position
    • onComplete

      public void onComplete(long duration)
      Description copied from interface: PlaybackListener
      Indicates when the video playback has completed.
      Specified by:
      onComplete in interface PlaybackListener
      Parameters:
      duration - the duration
    • reset

      public void reset()