# การปรับตั้งค่า Options
การปรับแต่ง ByteArk Player ทำได้ผ่าน Builder 2 ตัว: ByteArkPlayerConfigBuilder สำหรับตั้งค่า Player ทั้งระบบ และ ByteArkPlayerItemBuilder สำหรับกำหนดข้อมูลของวิดีโอที่จะเล่น
# ByteArkPlayerConfigBuilder
ใช้สำหรับตั้งค่าการทำงานของ Player
let config = try ByteArkPlayerConfigBuilder(licenseKey: "YOUR_BYTEARK_PLAYER_SDK_LICENSE")
.item(item)
.autoplay(true)
.build()
1
2
3
4
2
3
4
| Builder method | Type | Default | Description |
|---|---|---|---|
init(licenseKey:) | String | required | License key ของ ByteArk Player SDK |
.item(_:) | ByteArkPlayerItem | - | วิดีโอที่จะเล่น (ใช้ตัวนี้หรือ .playlist(_:)) |
.playlist(_:) | ByteArkPlayerPlaylist | - | Playlist ที่จะเล่น (ใช้ตัวนี้หรือ .item(_:)) |
.autoplay(_:) | Bool | false | เริ่มเล่นวิดีโออัตโนมัติเมื่อ Player พร้อม |
.muted(_:) | Bool | false | เริ่มเล่นแบบปิดเสียง |
.controls(enabled:) | Bool | true | แสดงแถบควบคุมในตัว |
.customControls(with:) | UIView | - | ใช้ View ควบคุมแบบ Custom แทนแถบควบคุมในตัว |
.pictureInPicture(enabled:) | Bool | true | เปิดใช้ Picture-in-Picture |
.seekButtons(enabled:time:) | Bool, TimeInterval | true, 10 | แสดงปุ่ม Seek ไปข้างหน้า/ถอยหลัง และ Double-tap เพื่อ Seek โดย time คือระยะ (วินาที) |
.fullscreenMode(_:) | ByteArkPlayerFullscreenMode | .rotate | รูปแบบการแสดงผล Fullscreen (ดู โหมดเต็มจอ (Fullscreen)) |
.rotateToFullscreen(_:) | Bool | false | เข้าสู่โหมด Fullscreen อัตโนมัติเมื่อหมุนอุปกรณ์เป็นแนวนอน |
.dvr(enabled:) | Bool | false | เปิด DVR (Seek ย้อนกลับภายใน Live window) สำหรับ Live stream (ดู DVR) |
.remoteControlCenter(enabled:) | Bool | false | เปิดใช้การควบคุมจาก iOS Control Center (ดู Remote Control) |
.backgroundAudio(enabled:) | Bool | false | เล่นเสียงต่อเมื่อแอปอยู่ใน Background (ดู Background Audio) |
.backButton(enabled:action:) | Bool, closure | false | แสดงปุ่มย้อนกลับและกำหนด Action เมื่อกด |
.playbackSpeeds(_:) | [Float] | [] | ตัวเลือกความเร็วในการเล่นที่ผู้ชมเลือกได้ (ดู Playback Speed) |
.playbackMode(_:) | ByteArkPlayerPlaybackMode | .disable | โหมดการเล่นซ้ำ: .disable, .loop, .repeat |
.language(_:) | ByteArkPlayerLanguage | .english | ภาษาของ UI สำหรับตัวควบคุมของ Player (ดู ภาษาบน Video Player (Language)) |
.customSubtitle(_:) | Bool | false | แสดงซับไตเติ้ลด้วย Overlay ของ SDK เอง (ดู ซับไตเติ้ล (Subtitle)) |
.subtitleSize(_:) | ByteArkPlayerSubtitleSize | .medium | ขนาดตัวอักษรซับไตเติ้ล (ดู ซับไตเติ้ล (Subtitle)) |
.subtitlePaddingBottomPercentage(_:) | Int | 10 | ยกซับไตเติ้ลขึ้นจากขอบล่าง คิดเป็นเปอร์เซ็นต์ของความสูงเฟรมวิดีโอ (ดู ซับไตเติ้ล (Subtitle)) |
.secureSurface(_:) | Bool | false | ป้องกันการจับภาพหน้าจอสำหรับเนื้อหา DRM |
.playlistButton(enabled:) | Bool | true | แสดงปุ่ม Playlist (ถัดไป/ก่อนหน้า) |
.playbackEngine(_:) | ByteArkPlayerPlaybackEngine | default | กำหนด Playback engine แบบ Custom (ดู Playback Engine) |
.addPlugin(plugin:, name:) | ByteArkPlayerPlugin, String | - | เพิ่ม Plugin เข้า Player |
# ByteArkPlayerItemBuilder
ใช้สำหรับกำหนดข้อมูลวิดีโอแต่ละชิ้น
let item = try ByteArkPlayerItemBuilder()
.media(URL(string: "<MEDIA_URL>")!)
.title("Big Buck Bunny")
.build()
1
2
3
4
2
3
4
| Builder method | Type | Required | Description |
|---|---|---|---|
.media(_:) | URL | Yes | URL ของวิดีโอ (HLS .m3u8 หรือ progressive) |
.title(_:) | String | No | ชื่อวิดีโอ (จำเป็นเมื่อเปิดใช้ Lighthouse) |
.drmDataSource(_:) | ByteArkPlayerDrmDataSource | No | DRM data source สำหรับ FairPlay (ดู Apple FairPlay) |
# Plugin config builders
แต่ละ Plugin มี Config builder ของตัวเอง
| Plugin | Config builder | คู่มือ |
|---|---|---|
| Ads | ByteArkPlayerAdsConfigBuilder(adsTagUrl:) | การเล่นโฆษณา (Advertisement) |
| AirPlay | ByteArkPlayerAirplayConfigBuilder() | Apple AirPlay |
| Lighthouse | ByteArkPlayerLighthouseConfigBuilder(projectId:) | ByteArk Lighthouse |
| Nielsen | ByteArkPlayerNielsenConfigBuilder(...) | Nielsen DCR |
ดูรายละเอียดการตั้งค่าของแต่ละ Plugin ในคู่มือเฉพาะของแต่ละตัว