# 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

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