# โหมดเต็มจอ (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()
1
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 จะขยายให้รองรับแนวนอนชั่วคราวขณะอยู่ในโหมดเต็มจอ
    }
}
1
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
1
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)
  // ออกจากโหมดเต็มจอ
}
1
2
3
4
5
6
7
8
9