# ซับไตเติ้ล (Subtitle)
ByteArk Player SDK for iOS รองรับซับไตเติ้ลที่ฝังมากับ HLS manifest โดยผู้ชมสามารถเลือกซับไตเติ้ลที่ต้องการได้ผ่าน UI ของ Player หรือผ่าน API
# เลือกซับไตเติ้ลผ่าน API
// ดูซับไตเติ้ลทั้งหมด
let subtitles: [ByteArkPlayerMediaTrack] = player.subtitleTracks
// ซับไตเติ้ลปัจจุบัน
let current: ByteArkPlayerMediaTrack? = player.subtitleTrack
// เลือกซับไตเติ้ล
player.setSubtitleTrack(subtitles[0])
// ปิดซับไตเติ้ล
player.setSubtitleTrack(nil)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# รับ Event เมื่อซับไตเติ้ลเปลี่ยน
override func playbackSubtitleTrackChanged(
player: ByteArkPlayer,
subtitleTrack: ByteArkPlayerMediaTrack?
) {
super.playbackSubtitleTrackChanged(player: player, subtitleTrack: subtitleTrack)
// ซับไตเติ้ลถูกเปลี่ยน
}
1
2
3
4
5
6
7
2
3
4
5
6
7
# การแสดงผลซับไตเติ้ล
การตั้งค่าการแสดงผล 3 รายการนี้กำหนดผ่าน ByteArkPlayerConfigBuilder และถูกกำหนดตายตัวตอนที่สร้าง Config โดยควบคุม วิธีการแสดงผล ซับไตเติ้ล ไม่ใช่ แทร็กที่เล่น (แทร็กใช้ setSubtitleTrack(_:))
let config = try ByteArkPlayerConfigBuilder(licenseKey: "<YOUR_LICENSE_KEY>")
.item(item)
.customSubtitle(true) // แสดงซับไตเติ้ลด้วย Overlay ของ SDK เอง
.subtitleSize(.large) // ขนาดตัวอักษรซับไตเติ้ล
.subtitlePaddingBottomPercentage(12) // ยกซับไตเติ้ลขึ้นจากขอบล่าง
.build()
1
2
3
4
5
6
2
3
4
5
6
| Builder method | Type | Default | Description |
|---|---|---|---|
.customSubtitle(_:) | Bool | false | แสดง Cue ด้วย Overlay ของ SDK เอง แทนการวาด Caption แบบ Native ของ Engine ใช้ได้กับ Playback engine แบบ AVFoundation (ค่าเริ่มต้น) |
.subtitleSize(_:) | ByteArkPlayerSubtitleSize | .medium | ขนาดตัวอักษรซับไตเติ้ล คิดเป็นเปอร์เซ็นต์ของความสูงเฟรมวิดีโอ ทำให้ซับไตเติ้ลขยายตาม Player ไม่ใช่ตามหน้าจอ |
.subtitlePaddingBottomPercentage(_:) | Int | 10 | ยกซับไตเติ้ลขึ้นจากขอบล่าง คิดเป็นเปอร์เซ็นต์ของความสูงเฟรมวิดีโอ ใช้กับทั้งซับไตเติ้ลแบบ Native และ Custom |
ค่าของ ByteArkPlayerSubtitleSize จากเล็กสุดไปใหญ่สุด: .minimum, .extraTiny, .tiny, .extraSmall, .small, .medium, .large, .extraLarge, .maximum