# โหมดเต็มจอ (Fullscreen)
ByteArk Player SDK for iOS แสดงผลโหมดเต็มจอได้ 2 รูปแบบ โดยเลือกผ่าน .fullscreenMode(_:) บน ByteArkPlayerConfigBuilder
# รูปแบบของ Fullscreen
| ค่า | การทำงาน |
|---|---|
.rotate | บังคับหมุนเป็นแนวนอน แล้วหมุนวิดีโอให้เต็มเฟรมแนวนอน (ค่าเริ่มต้น) |
.expand | ขยายเต็มจอโดยไม่หมุน เหมาะกับวิดีโอแนวตั้ง (Portrait) |
let config = try ByteArkPlayerConfigBuilder(licenseKey: "<YOUR_LICENSE_KEY>")
.item(item)
.fullscreenMode(.expand) // Fullscreen ที่รองรับแนวตั้ง
.build()
2
3
4
# ข้อกำหนดของแอปสำหรับโหมด Rotate
โหมด Rotate จำเป็นต้องให้แอปอนุญาตการแสดงผลแนวนอน โดยประกาศ application(_:supportedInterfaceOrientationsFor:) บน UIApplicationDelegate ของคุณ ซึ่ง SDK จะขยายให้รองรับแนวนอนขณะอยู่ในโหมดเต็มจอ และคืนค่า Orientation เดิมเมื่อออก จำเป็นสำหรับแอป SwiftUI ที่ใช้ @UIApplicationDelegateAdaptor
class AppDelegate: NSObject, UIApplicationDelegate {
func application(
_ application: UIApplication,
supportedInterfaceOrientationsFor window: UIWindow?
) -> UIInterfaceOrientationMask {
.portrait // SDK จะขยายให้รองรับแนวนอนชั่วคราวขณะอยู่ในโหมดเต็มจอ
}
}
2
3
4
5
6
7
8
สำหรับแอป SwiftUI ล้วน ให้แนบด้วย @UIApplicationDelegateAdaptor(AppDelegate.self)
Note
หากแอปไม่อนุญาตแนวนอน (และยังไม่ได้ประกาศเมธอดด้านบน) Player จะ Fallback ไปใช้โหมด Expand แทนการ Crash พร้อมบันทึก Warning หนึ่งบรรทัดอธิบายวิธีเปิดใช้โหมด Rotate ทั้งนี้ .expand ใช้งานได้เสมอไม่ว่าแอปจะรองรับ Orientation ใด
# API ที่เกี่ยวข้อง
// สลับโหมดเต็มจอผ่านโค้ด
player.toggleFullscreen()
// ตรวจสอบว่ากำลังอยู่ในโหมดเต็มจอหรือไม่
let isFull: Bool = player.isFullscreen
2
3
4
5
รับ Event ของ Fullscreen ผ่าน Delegate:
override func playerEnterFullscreen(player: ByteArkPlayer) {
super.playerEnterFullscreen(player: player)
// เข้าสู่โหมดเต็มจอ
}
override func playerExitFullscreen(player: ByteArkPlayer) {
super.playerExitFullscreen(player: player)
// ออกจากโหมดเต็มจอ
}
2
3
4
5
6
7
8
9