# API Reference

เมื่อสร้าง ByteArkPlayerController แล้ว คุณสามารถเรียกใช้งาน API ของ Player ผ่าน Controller instance ได้โดยตรง

# Lifecycle methods

Method Description
setListener(ByteArkPlayerListener? newListener) กำหนด/เปลี่ยน Listener สำหรับรับ Event
attach() ผูก Controller กับ ByteArkPlayer widget (ถูกเรียกอัตโนมัติเมื่อ widget mount)
detach() ยกเลิกการผูก Controller (ถูกเรียกอัตโนมัติเมื่อ widget unmount)
dispose() ปลดปล่อย Listener และทรัพยากรของ Controller ใช้ใน State.dispose()

# Playback controller

Method Description
play() เริ่มเล่นวิดีโอ
pause() หยุดเล่นวิดีโอชั่วคราว
togglePlayback() สลับสถานะ Play/Pause
seekTo(int position) กระโดดไปที่ตำแหน่งเวลาที่ระบุ (มิลลิวินาที)
seekForward() กระโดดไปข้างหน้าตาม seekTime ของ Config
seekBackward() กระโดดถอยหลังตาม seekTime ของ Config

# Media controller

Method Description
switchMediaSource(ByteArkPlayerConfig config) เปลี่ยนวิดีโอที่เล่นโดยส่ง Config ใหม่

# Tracks & quality

Method Description
setAudio(ByteArkPlayerMediaTrack track) เลือก Audio track
setSubtitle(ByteArkPlayerMediaTrack? track) เลือกซับไตเติ้ล (ส่ง null เพื่อปิด)
setResolution(ByteArkPlayerMediaTrack track) เลือกความละเอียดวิดีโอ

# Playback speed

Method Description
setPlaybackSpeed(double speed) กำหนดความเร็วในการเล่น (เช่น 0.5, 1.0, 1.5, 2.0)

# UI controller

Method Description
toggleFullScreen() สลับโหมด Full Screen