# การใช้งาน 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

ดู 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

# 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

ดู 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

# 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

ดู API Reference สำหรับ Method ทั้งหมดของ ByteArkPlayerController

# หัวข้อที่เกี่ยวข้อง