Uygulamanıza uzamsal video ekleme

Jetpack XR SDK'sı, düz yüzeylerde stereoskopik yan yana video oynatmayı destekler. Stereoskopik videoda her kare, izleyicilere derinlik hissi vermek için sol göz ve sağ göz görüntüsünden oluşur.

Diğer form faktörlerinde Android geliştirme için kullanılan standart medya API'lerini kullanarak Android XR uygulamalarında stereoskopik olmayan 2D video oluşturabilirsiniz.

Jetpack XR SDK'sını kullanarak yan yana video oynatma

Yan yana videoda her stereoskopik kare, yatay olarak birbirine bitişik iki resim olarak sunulur. Üst ve alt video kareleri birbirine bitişik şekilde dikey olarak düzenlenir.

Yan yana video bir codec değil, stereoskopik kareleri düzenlemenin bir yoludur. Yani Android tarafından desteklenen codec'lerden herhangi birinde kodlanabilir.

Media3 Exoplayer'ı kullanarak yan yana video yükleyebilir ve ardından yeni StereoSurfaceEntity'ı kullanarak videoyu oluşturabilirsiniz. StereoSurfaceEntity oluşturmak için aşağıdaki örnekte gösterildiği gibi Session cihazınızda createStereoSurfaceEntity()'i arayın.

stereoSurfaceEntity = xrSession.createStereoSurfaceEntity(
            StereoSurfaceEntity.StereoMode.SIDE_BY_SIDE,
            Dimensions(2.0F, 2.0F, 0.0F),
            // Position 1.5 meters in front of user
            Pose(Vector3(0.0f, 0.0f, -1.5f), Quaternion(0.0f, 0.0f, 0.0f, 1.0f))
        )
        val videoUri = Uri.Builder()
            .scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
            .path(R.raw.sbs_test_video.toString())
            .build()
        val mediaItem = MediaItem.fromUri(videoUri)

        exoPlayer = ExoPlayer.Builder(this).build()
        exoPlayer.setVideoSurface(stereoSurfaceEntity!!.getSurface())
        exoPlayer.setMediaItem(mediaItem)
        exoPlayer.prepare()
        exoPlayer.play()