# Event Listeners Reference

ByteArkPlayerFragment emits events through the PlayerFragmentListener interface. Implement it to receive the callbacks you care about.

# Usage

private var mFragmentListener = object : PlayerFragmentListener {
  override fun onPlayerReady() {
    // Player ready
  }
  override fun onPlay() {
    // Playback started
  }
  // ... other callbacks as needed
}
mPlayerFragment.addFragmentEventListener(mFragmentListener)
1
2
3
4
5
6
7
8
9
10
11
12
13

# Lifecycle events

Callback Description
onPlayerReady() Player created and ready
onLoad() Started loading the video
onMediaReady() The video is ready to play
onFirstPlay() The video plays for the first time
onPlay() Playback starts/resumes
onPause() Playback paused
onStop() Playback stopped
onEnded() Playback ended

# Buffer & seek events

Callback Description
onBufferStart() Buffering started
onBufferStop() Buffering ended
onSeekStart() Seek started
onSeekEnd() Seek ended

# Progress events

Callback Description
onProgressUpdate(position: Long, bufferedPosition: Long) Position / buffered position updated
onTimelineUpdate(duration: Long, isLive: Boolean) Timeline and live state updated
onPlaybackRateChange() Viewer changed the playback speed
onPlayerItemChange(item, isPlaylist, isQueue, index) Active playlist/queue item changed

# UI events

Callback Description
onFullScreenEnter() Entered full-screen mode
onFullScreenExit() Exited full-screen mode
onPipModeEnter() Entered Picture-in-Picture
onPipModeExit() Exited Picture-in-Picture
onPlayerSizeChange(width: Int, height: Int) Player view size changed
onVideoSizeChange(width: Int, height: Int) Video size changed

# Subtitle & storyboard events

Callback Description
onCues(cues: List<Cue>) New subtitle cues from ExoPlayer
onStoryBoardLoaded(storyBoard: StoryBoard) Storyboard loaded successfully

# Ads events

Callback Description
onAdsRequest() Ad request sent
onAdsStart() An ad started
onAdsEnd() An ad ended
onAdsComplete() All ads finished
onAdsBreakStart() Ad break started
onAdsBreakEnd() Ad break ended
onAdsClicked() Ad clicked by viewer
onAdsSkipped() Ad skipped by viewer
onAdsDestroy() Ads were destroyed
onAdsError(errorMessage: String?) Ads playback error

# Error event

Callback Description
onError(errorCode: String, errorMessage: String) A player error occurred