# การใช้งาน ByteArk Player SDK for Flutter
หน้านี้แสดง Walkthrough การ Embed ByteArkPlayer ลงใน Widget tree ของแอป Flutter พร้อมควบคุมการเล่นและรับ Event ผ่าน ByteArkPlayerController สำหรับรายละเอียดของแต่ละ Option / API / Event ดูเอกสารอ้างอิงตามลิงก์ในแต่ละขั้นตอน
# 1. สร้าง Controller และ Listener
ByteArkPlayerController ใช้สำหรับควบคุม Player (play/pause/seek/setAudio/etc.) และส่ง Event ผ่าน ByteArkPlayerListener
class _MyPlayerScreenState extends State<MyPlayerScreen> {
late ByteArkPlayerController _controller;
void initState() {
super.initState();
final listener = ByteArkPlayerListener(
onPlayerReady: () => debugPrint("Player ready"),
onPlaybackPlay: () => debugPrint("Playback started"),
onPlaybackPause: () => debugPrint("Playback paused"),
onPlaybackError: (error) => debugPrint("Error: ${error.message}"),
);
_controller = ByteArkPlayerController(listener: listener);
}
void dispose() {
_controller.dispose();
super.dispose();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ดู Event Listeners Reference สำหรับ Callback ทั้งหมดของ
ByteArkPlayerListener
# 2. สร้าง ByteArkPlayerItem
ByteArkPlayerItem กำหนดข้อมูลของวิดีโอที่จะเล่น
final playerItem = ByteArkPlayerItem(
url: "<MEDIA_URL>",
title: "Big Buck Bunny",
mediaId: "VIDEO_ID",
);
1
2
3
4
5
2
3
4
5
# 3. สร้าง ByteArkPlayerConfig
ByteArkPlayerConfig ตั้งค่าการทำงานของ Player
final config = ByteArkPlayerConfig(
licenseKey: ByteArkPlayerLicenseKey(
android: "<ANDROID_LICENSE_KEY>",
iOS: "<IOS_LICENSE_KEY>",
),
playerItem: playerItem,
autoPlay: true,
control: true,
seekButtons: true,
fullScreenButton: true,
settingButton: true,
);
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
ดู Options สำหรับ Property ทั้งหมดของ
ByteArkPlayerConfigและByteArkPlayerItem
# 4. Embed ByteArkPlayer Widget
ใช้ Widget ByteArkPlayer พร้อมส่ง playerConfig และ controller
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
AspectRatio(
aspectRatio: 16 / 9,
child: ByteArkPlayer(
playerConfig: config,
controller: _controller,
),
),
ElevatedButton(
onPressed: _controller.pause,
child: const Text("Pause"),
),
],
),
);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 5. ควบคุม Player ผ่าน API
ตัวอย่างการเรียก API ที่ใช้บ่อย
_controller.play();
_controller.pause();
_controller.togglePlayback();
_controller.seekTo(60_000); // ไปที่นาทีที่ 1:00 (มิลลิวินาที)
_controller.setPlaybackSpeed(1.5); // ความเร็ว 1.5x
_controller.toggleFullScreen();
1
2
3
4
5
6
2
3
4
5
6
ดู API Reference สำหรับ Method ทั้งหมดของ
ByteArkPlayerController
# หัวข้อที่เกี่ยวข้อง
- การเล่นโฆษณา (Advertisement) — Google IMA SDK / VAST / VMAP
- Content Protection — Widevine, FairPlay, HLS ClearKey
- ByteArk Lighthouse — เก็บสถิติการรับชม