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()