# การปรับตั้งค่า 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
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
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 ในคู่มือเฉพาะของแต่ละตัว