Skip to content

Commit 187d70f

Browse files
authored
Adding snippet for MV-HEVC video playback (#513)
1 parent 222fd4f commit 187d70f

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

xr/src/main/java/com/example/xr/scenecore/SpatialVideo.kt

+23-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ private fun ComponentActivity.surfaceEntityCreate(xrSession: Session) {
3232
val stereoSurfaceEntity = SurfaceEntity.create(
3333
xrSession,
3434
SurfaceEntity.StereoMode.SIDE_BY_SIDE,
35-
// Position 1.5 meters in front of user
3635
Pose(Vector3(0.0f, 0.0f, -1.5f)),
3736
SurfaceEntity.CanvasShape.Quad(1.0f, 1.0f)
3837
)
@@ -83,3 +82,26 @@ private fun ComponentActivity.surfaceEntityCreateTb(xrSession: Session) {
8382
// ... and use the surface for playing the media.
8483
// [END androidxr_scenecore_surfaceEntityCreateTb]
8584
}
85+
86+
private fun ComponentActivity.surfaceEntityCreateMVHEVC(xrSession: Session) {
87+
// [START androidxr_scenecore_surfaceEntityCreateMVHEVC]
88+
// Create the SurfaceEntity with the StereoMode corresponding to the MV-HEVC content
89+
val stereoSurfaceEntity = SurfaceEntity.create(
90+
xrSession,
91+
SurfaceEntity.StereoMode.MULTIVIEW_LEFT_PRIMARY,
92+
Pose(Vector3(0.0f, 0.0f, -1.5f)),
93+
SurfaceEntity.CanvasShape.Quad(1.0f, 1.0f)
94+
)
95+
val videoUri = Uri.Builder()
96+
.scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
97+
.path("mvhevc_video.mp4")
98+
.build()
99+
val mediaItem = MediaItem.fromUri(videoUri)
100+
101+
val exoPlayer = ExoPlayer.Builder(this).build()
102+
exoPlayer.setVideoSurface(stereoSurfaceEntity.getSurface())
103+
exoPlayer.setMediaItem(mediaItem)
104+
exoPlayer.prepare()
105+
exoPlayer.play()
106+
// [END androidxr_scenecore_surfaceEntityCreateMVHEVC]
107+
}

0 commit comments

Comments
 (0)