เซสชัน

Session เป็นอินเทอร์เฟซหลักสำหรับฟังก์ชันการทำงานแบบสเปเชียลออดิโอของแอปพลิเคชัน กิจกรรมที่ระบุตำแหน่งแต่ละรายการต้องสร้างและเก็บอินสแตนซ์ของ Session เมื่อสร้างแล้ว แอปพลิเคชันจะใช้Sessionอินเทอร์เฟซเพื่อสร้างเอนทิตีเนื้อหาที่วางในพื้นที่ เช่น แผงหรือโมเดล 3 มิติ รวมถึงตั้งค่าสภาพแวดล้อมเชิงพื้นที่ ระบุตำแหน่งของผู้ใช้ และกำหนดเนื้อหาให้สอดคล้องกับโลกแห่งความเป็นจริงได้

เข้าถึงเซสชันจาก Jetpack Compose สำหรับ XR

เมื่อใช้ Jetpack Compose สําหรับ XR ระบบจะสร้างเซสชันให้คุณและเข้าถึงได้โดยใช้ LocalSession.current โปรดดูตัวอย่างต่อไปนี้

@Composable
fun ComposableUsingSession() {
    val session = LocalSession.current
}

เข้าถึงเซสชันจาก Jetpack SceneCore

หากสร้างเอนทิตีที่แยกแยะตำแหน่งได้จากคลัง SceneCore คุณจะต้องสร้างเซสชัน

การสร้างเซสชันใช้ได้ในอุปกรณ์ Android XR เท่านั้น การพยายามสร้างเซสชันในอุปกรณ์ที่เข้ากันไม่ได้จะส่งผลให้เกิดข้อผิดพลาด หากต้องการสร้างเซสชัน ให้ส่งกิจกรรมไปยังเมธอด create ดังที่แสดงในตัวอย่างต่อไปนี้

when (val result = Session.create(this)) {
    is SessionCreateSuccess -> {
        val xrSession = result.session
        // ...
    }
    is SessionCreatePermissionsNotGranted ->
        TODO(/* The required permissions in result.permissions have not been granted. */)
}

เมื่อกิจกรรมของเซสชันถูกทำลาย UI เชิงพื้นที่และเนื้อหา 3 มิติทั้งหมดที่เชื่อมโยงกับเซสชันนั้นก็จะหายไปด้วย และเซสชันจะใช้งานไม่ได้อีกต่อไป

ดูเพิ่มเติม