# Event Listeners Reference
ByteArk Player emits events through ByteArkPlayerListener. Configure the callbacks you care about when constructing the listener, then attach it to ByteArkPlayerController.
# Usage
final listener = ByteArkPlayerListener(
onPlayerReady: () => debugPrint("Player ready"),
onPlaybackPlay: () => debugPrint("Playback started"),
onPlaybackPause: () => debugPrint("Playback paused"),
onPlaybackError: (error) => debugPrint("Error: ${error.message}"),
onAdsStart: (data) => debugPrint("Ad started: ${data.toMap()}"),
);
final controller = ByteArkPlayerController(listener: listener);
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# Player lifecycle events
| Callback | Description |
|---|---|
onPlayerReady | Player is ready |
onPlayerLoadingMetadata | Started loading metadata |
onPlayerEnterFullscreen | Entered fullscreen |
onPlayerExitFullscreen | Exited fullscreen |
onPlayerEnterPictureInPictureMode | Entered Picture-in-Picture |
onPlayerExitPictureInPictureMode | Exited Picture-in-Picture |
# Playback events
| Callback | Description |
|---|---|
onPlaybackFirstPlay | First playback |
onPlaybackPlay | Playback starts/resumes |
onPlaybackPause | Playback paused |
onPlaybackEnded | Playback ended |
onPlaybackSeeking | Seek started |
onPlaybackSeeked | Seek ended |
onPlaybackBuffering | Buffering started |
onPlaybackBuffered | Buffering ended |
onPlaybackTimeupdate | Playback position updated |
onPlaybackResolutionChanged | Resolution changed |
onPlaybackPlaylistItemChanged | Playlist item changed |
onPlaybackError(ByteArkPlayerPlaybackErrorData error) | A playback error occurred |
# Advertisement events
| Callback | Description |
|---|---|
onAdsRequest | Ad request sent |
onAdsBreakStart | Ad break started |
onAdsBreakEnd | Ad break ended |
onAdsStart(ByteArkPlayerAdsData data) | An ad started |
onAdsEnd | An ad ended |
onAdsComplete | All ads finished |
onAdsClicked | Ad clicked by viewer |
onAdsSkipped | Ad skipped by viewer |
onAdsError(ByteArkPlayerAdsErrorData error) | Ads playback error |