# Event Listeners Reference

ByteArk Player ส่ง Event ผ่าน ByteArkPlayerListener ซึ่งคุณสามารถกำหนด Callback ที่สนใจตอนสร้าง Listener แล้วผูกเข้ากับ ByteArkPlayerController

# การใช้งาน

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 พร้อมรับวิดีโอ
onPlayerLoadingMetadata เริ่มโหลด Metadata ของวิดีโอ
onPlayerEnterFullscreen เข้าโหมด Full Screen
onPlayerExitFullscreen ออกจากโหมด Full Screen
onPlayerEnterPictureInPictureMode เข้าโหมด Picture-in-Picture
onPlayerExitPictureInPictureMode ออกจากโหมด Picture-in-Picture

# Playback events

Callback Description
onPlaybackFirstPlay เริ่มเล่นวิดีโอเป็นครั้งแรก
onPlaybackPlay เริ่ม/กลับมาเล่นวิดีโอ
onPlaybackPause หยุดเล่นชั่วคราว
onPlaybackEnded เล่นจบ
onPlaybackSeeking เริ่ม Seek
onPlaybackSeeked Seek เสร็จสิ้น
onPlaybackBuffering เริ่ม Buffer
onPlaybackBuffered Buffer เสร็จสิ้น
onPlaybackTimeupdate ตำแหน่งเวลาในการเล่นวิดีโออัปเดต
onPlaybackResolutionChanged ความละเอียดวิดีโอเปลี่ยน
onPlaybackPlaylistItemChanged วิดีโอใน Playlist เปลี่ยน
onPlaybackError(ByteArkPlayerPlaybackErrorData error) เกิด Error ในการเล่นวิดีโอ
Callback Description
onAdsRequest ส่งคำขอโฆษณา
onAdsBreakStart เริ่ม Ads break
onAdsBreakEnd จบ Ads break
onAdsStart(ByteArkPlayerAdsData data) เริ่มเล่นโฆษณา
onAdsEnd จบโฆษณาแต่ละชิ้น
onAdsComplete โฆษณาทั้งหมดเล่นเสร็จ
onAdsClicked ผู้ชมคลิกโฆษณา
onAdsSkipped ผู้ชมกดข้ามโฆษณา
onAdsError(ByteArkPlayerAdsErrorData error) เกิด Error ในการเล่นโฆษณา