जब उपयोगकर्ता आपके ऐप्लिकेशन या सिस्टम के साथ इंटरैक्ट करते हैं, तो स्पेस की सुविधाओं में बदलाव हो सकता है. इसके अलावा, आपका ऐप्लिकेशन भी इन सुविधाओं में बदलाव कर सकता है. उदाहरण के लिए, होम स्पेस या फ़ुल स्पेस पर स्विच करना. समस्याओं से बचने के लिए, आपके ऐप्लिकेशन को स्पेस की सुविधाओं की जांच करनी होगी, ताकि यह पता लगाया जा सके कि मौजूदा एनवायरमेंट में कौनसे एपीआई काम करते हैं.
XR के लिए Jetpack Compose का इस्तेमाल करके, स्पेस ऑडियो की सुविधाओं की जांच करना
XR के लिए Jetpack Compose, स्पेस की जानकारी देने वाली सुविधाओं की जांच करने के लिए, एक कॉम्पोज़िशन लोकल बनाता है. इसका इस्तेमाल करके देखें कि स्पेसिएल यूज़र इंटरफ़ेस (यूआई), स्पेशल ऑडियो, एनवायरमेंट, पासथ्रू या 3D कॉन्टेंट चालू है या नहीं.
LocalSpatialCapabilities.current
का इस्तेमाल करके, यह देखा जा सकता है कि फ़िलहाल, जगह की जानकारी से जुड़ी ये सुविधाएं उपलब्ध हैं या नहीं:
isSpatialUiEnabled
: इससे पता चलता है कि ऐप्लिकेशन, स्पेशल यूज़र इंटरफ़ेस (यूआई) एलिमेंट (उदाहरण के लिए,SpatialPanel
) बना सकता है या नहीं.isContent3dEnabled
: इससे पता चलता है कि ऐप्लिकेशन 3D ऑब्जेक्ट बना सकता है या नहीं.isAppEnvironmentEnabled
: इससे पता चलता है कि ऐप्लिकेशन, एनवायरमेंट सेट कर सकता है या नहीं.isPassthroughControlEnabled
: इससे पता चलता है कि ऐप्लिकेशन, पासथ्रू की स्थिति को कंट्रोल कर सकता है या नहीं.isSpatialAudioEnabled
: इससे पता चलता है कि ऐप्लिकेशन में स्पेस ऑडियो का इस्तेमाल किया जा सकता है या नहीं.
यहां दिए गए उदाहरण में, यह देखने का तरीका बताया गया है कि स्पेसिएल यूज़र इंटरफ़ेस (यूआई) चालू है या नहीं:
if (LocalSpatialCapabilities.current.isSpatialUiEnabled) { Subspace { SpatialPanel( modifier = SubspaceModifier .width(1488.dp) .fillMaxHeight() ) { AppContent() } } } else { AppContent() }
SceneCore का इस्तेमाल करके, स्पेस ऑडियो की सुविधाओं की जांच करना
SceneCore लाइब्रेरी का इस्तेमाल करते समय, आपको सेशन बनाना होगा. सेशन बनाने के बाद, उस पर spatialCapabilities
कॉल करें. इससे आपको पता चलेगा कि फ़िलहाल स्पेस में कौनसी सुविधाएं उपलब्ध हैं.
SPATIAL_CAPABILITY_3D_CONTENT
: गतिविधि से 3D कॉन्टेंट बनाया जा सकता है.SPATIAL_CAPABILITY_APP_ENVIRONMENT
: गतिविधि अपने लिए अलग सेटअप कर सकती है.SPATIAL_CAPABILITY_EMBED_ACTIVITY
: गतिविधि में, किसी दूसरी गतिविधि को जगह के हिसाब से एम्बेड किया जा सकता है.SPATIAL_CAPABILITY_PASSTHROUGH_CONTROL
: गतिविधि से पासथ्रू को चालू या बंद किया जा सकता है.SPATIAL_CAPABILITY_SPATIAL_AUDIO
: गतिविधि में स्पेसियल ऑडियो का इस्तेमाल किया जा सकता है.SPATIAL_CAPABILITY_UI
: गतिविधि अपने-आप स्पेस में दिख सकती है. उदाहरण के लिए, स्पेस पैनल जोड़ना.
आपके पास कॉलबैक की सदस्यता लेने का विकल्प भी है,
addSpatialCapabilitiesChangedListener
जो स्पेस ऑडियो की सुविधाओं में बदलाव होने पर आपको सूचना देता है.
// Example 1: check if enabling passthrough mode is allowed if (xrSession.scene.spatialCapabilities.hasCapability( SpatialCapabilities.SPATIAL_CAPABILITY_PASSTHROUGH_CONTROL ) ) { xrSession.scene.spatialEnvironment.setPassthroughOpacityPreference(0f) } // Example 2: multiple capability flags can be checked simultaneously: if (xrSession.scene.spatialCapabilities.hasCapability( SpatialCapabilities.SPATIAL_CAPABILITY_PASSTHROUGH_CONTROL and SpatialCapabilities.SPATIAL_CAPABILITY_3D_CONTENT ) ) { // ... }
यह भी देखें:
- सेशन बनाना
- एचएसएम और एफ़एसएम के बीच ट्रांज़िशन
- अपने ऐप्लिकेशन में स्पेस वाले एनवायरमेंट जोड़ना
- अपने ऐप्लिकेशन में 3D मॉडल जोड़ना