API Reference
เมื่อสร้าง ByteArkPlayerViewController แล้ว คุณสามารถเรียกใช้งาน API ของ Player ผ่าน player instance ของ ViewController ได้
Configuration methods
| Method | Description |
func configure(with config: ByteArkPlayerConfig) | ตั้งค่า Player ด้วย ByteArkPlayerConfig (สร้างจาก ByteArkPlayerConfigBuilder) |
func destroy() | ปลดปล่อยทรัพยากรของ Player |
func getPlugin(with name: String) -> ByteArkPlayerPlugin? | ดึง Plugin instance ตามชื่อ |
func addPlaybackEngineObserve(...) -> any NSObjectProtocol | เพิ่ม Observer สำหรับรับ Notification จาก Playback engine |
Playback controller
| Method | Description |
func play() | เริ่มเล่นวิดีโอ |
func pause() | หยุดเล่นวิดีโอชั่วคราว |
func seek(to time: TimeInterval, completionHandler:) | กระโดดไปที่ตำแหน่งเวลา (วินาที) |
func muted(_ muted: Bool) | เปิด/ปิดเสียง |
func setVolume(_ volume: Float) | ตั้งค่าระดับเสียง (0.0 - 1.0) |
func setPlaybackSpeed(_ speed: Float) | ตั้งค่าความเร็วในการเล่น |
UI controller
| Method | Description |
func toggleFullscreen() | สลับโหมด Fullscreen |
func togglePictureInPictureMode() | สลับโหมด Picture-in-Picture |
func enablePictureInPicture() | เปิดใช้ Picture-in-Picture |
func disablePictureInPicture() | ปิดใช้ Picture-in-Picture |
func showControls() | แสดงแถบควบคุม |
func hideControls() | ซ่อนแถบควบคุม |
Background & remote control
| Method | Description |
func enableBackgroundAudio() | เปิดใช้การเล่นเสียงเมื่อแอปอยู่ใน Background |
func disableBackgroundAudio() | ปิดการเล่นเสียงเมื่ออยู่ใน Background |
func enableRemoteControlCenter() | เปิดใช้การควบคุม Player จาก iOS Control Center |
func disableRemoteControlCenter() | ปิดใช้การควบคุมจาก Control Center |
Tracks & quality
| Method | Description |
func setAudioTrack(_ audioTrack: ByteArkPlayerMediaTrack) | เลือก Audio track |
func setSubtitleTrack(_ subtitleTrack: ByteArkPlayerMediaTrack?) | เลือกซับไตเติ้ล (ส่ง nil เพื่อปิด) |
func setResolution(_ resolution: ByteArkPlayerMediaResolution) | เลือกความละเอียดวิดีโอ |
Playlist
| Method | Description |
func next() | ข้ามไปวิดีโอถัดไปใน Playlist |
func previous() | กลับไปวิดีโอก่อนหน้าใน Playlist |
func setPlaylistItem(_ playbackItem: ByteArkPlayerItem) throws | ตั้งค่าวิดีโอใน Playlist |
Variables
View hierarchy
| Variable | Description |
var playerContainerView: ByteArkPlayerContainerView { get } | View ที่บรรจุ Rendering view, Controls ฯลฯ |
var playerViewController: ByteArkPlayerViewController? { get } | ViewController ของ Player |
var fullscreenViewController: ByteArkPlayerFullscreenViewController? { get } | ViewController สำหรับโหมด Fullscreen |
var controlsView: UIView? { get } | View ของแถบควบคุม |
Configuration & state
| Variable | Description |
var config: ByteArkPlayerConfig? { get } | Configuration object ที่ใช้สร้าง Player |
var delegate: ByteArkPlayerPlaybackDelegate? { get, set } | Playback delegate |
var playbackItem: ByteArkPlayerItem? { get } | วิดีโอที่กำลังเล่นอยู่ |
var playlist: ByteArkPlayerPlaylist? { get } | Playlist ปัจจุบัน |
Playback info
| Variable | Description |
var currentTime: TimeInterval { get } | เวลาปัจจุบัน (วินาที) |
var duration: TimeInterval { get } | ความยาววิดีโอ (วินาที) |
var playbackSpeed: Float { get } | ความเร็วในการเล่นปัจจุบัน |
var volume: Float { get } | ระดับเสียงปัจจุบัน |
Tracks
| Variable | Description |
var audioTrack: ByteArkPlayerMediaTrack? { get } | Audio track ที่ใช้งานอยู่ |
var audioTracks: [ByteArkPlayerMediaTrack] { get } | Audio track ทั้งหมดของวิดีโอปัจจุบัน |
var subtitleTrack: ByteArkPlayerMediaTrack? { get } | ซับไตเติ้ลที่ใช้งานอยู่ |
var subtitleTracks: [ByteArkPlayerMediaTrack] { get } | ซับไตเติ้ลทั้งหมดของวิดีโอปัจจุบัน |
var resolution: ByteArkPlayerMediaResolution? { get } | ความละเอียดที่ใช้งานอยู่ |
var resolutions: [ByteArkPlayerMediaResolution] { get } | ความละเอียดทั้งหมดของวิดีโอปัจจุบัน |
State flags
| Variable | Description |
var isReady: Bool { get } | Player พร้อมเล่นหรือไม่ |
var isPlaying: Bool { get } | กำลังเล่นอยู่หรือไม่ |
var isSeeking: Bool { get } | กำลัง Seek อยู่หรือไม่ |
var isBuffering: Bool { get } | กำลัง Buffer อยู่หรือไม่ |
var isEnded: Bool { get } | เล่นจบหรือยัง |
var isMuted: Bool { get } | ปิดเสียงอยู่หรือไม่ |
var isFullscreen: Bool { get } | อยู่ในโหมด Fullscreen หรือไม่ |
var isInPictureInPicture: Bool { get } | อยู่ในโหมด Picture-in-Picture หรือไม่ |