# Event Listeners Reference
ByteArkPlayerFragment ส่ง Event ของ Player ผ่าน interface PlayerFragmentListener ซึ่งสามารถ Implement เพื่อรับ Callback แต่ละประเภทได้
# การใช้งาน
private var mFragmentListener = object : PlayerFragmentListener {
override fun onPlayerReady() {
// Player พร้อมเล่น
}
override fun onPlay() {
// เริ่มเล่นวิดีโอ
}
// ... callback อื่นๆ ตามต้องการ
}
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 ถูกสร้างและพร้อมรับวิดีโอแล้ว |
onLoad() | เริ่มโหลดวิดีโอ |
onMediaReady() | วิดีโอพร้อมเล่น |
onFirstPlay() | เริ่มเล่นวิดีโอเป็นครั้งแรก |
onPlay() | เริ่ม/กลับมาเล่นวิดีโอ |
onPause() | หยุดเล่นชั่วคราว |
onStop() | หยุดเล่น |
onEnded() | เล่นวิดีโอจบ |
# Buffer & seek events
| Callback | Description |
|---|---|
onBufferStart() | เริ่ม Buffer |
onBufferStop() | Buffer เสร็จสิ้น |
onSeekStart() | เริ่ม Seek |
onSeekEnd() | Seek เสร็จสิ้น |
# Progress events
| Callback | Description |
|---|---|
onProgressUpdate(position: Long, bufferedPosition: Long) | อัปเดตเวลาปัจจุบันและ Buffer position |
onTimelineUpdate(duration: Long, isLive: Boolean) | อัปเดตข้อมูล Timeline และสถานะ Live |
onPlaybackRateChange() | ผู้ชมเปลี่ยนความเร็วการเล่น |
onPlayerItemChange(item, isPlaylist, isQueue, index) | เปลี่ยนวิดีโอใน Playlist/Queue |
# UI events
| Callback | Description |
|---|---|
onFullScreenEnter() | เข้าสู่โหมด Full Screen |
onFullScreenExit() | ออกจากโหมด Full Screen |
onPipModeEnter() | เข้าสู่โหมด Picture-in-Picture |
onPipModeExit() | ออกจากโหมด Picture-in-Picture |
onPlayerSizeChange(width: Int, height: Int) | ขนาดของ Player View เปลี่ยน |
onVideoSizeChange(width: Int, height: Int) | ขนาดของวิดีโอเปลี่ยน |
# Subtitle & storyboard events
| Callback | Description |
|---|---|
onCues(cues: List<Cue>) | ได้รับข้อมูลซับไตเติ้ลใหม่จาก ExoPlayer |
onStoryBoardLoaded(storyBoard: StoryBoard) | โหลด Storyboard สำเร็จ |
# Ads events
| Callback | Description |
|---|---|
onAdsRequest() | ส่งคำขอโฆษณา |
onAdsStart() | เริ่มเล่นโฆษณา |
onAdsEnd() | จบโฆษณาแต่ละชิ้น |
onAdsComplete() | โฆษณาทั้งหมดเล่นเสร็จ |
onAdsBreakStart() | เริ่ม Ads break |
onAdsBreakEnd() | จบ Ads break |
onAdsClicked() | ผู้ชมคลิกโฆษณา |
onAdsSkipped() | ผู้ชมกดข้ามโฆษณา |
onAdsDestroy() | โฆษณาถูกทำลาย |
onAdsError(errorMessage: String?) | เกิด Error ในการเล่นโฆษณา |
# Error event
| Callback | Description |
|---|---|
onError(errorCode: String, errorMessage: String) | เกิด Error ในการเล่นวิดีโอ |