# 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
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 |