如何用ExoPlayer实现360度VR视频的分屏播放?
解决ExoPlayer VR视频分屏显示问题
你当前设置的C.STEREO_MODE_MONO是单屏模式,要实现左右分屏的VR效果,只需修改立体模式参数即可:
修改代码中的立体模式常量
将原来设置单屏的代码:(player_view.videoSurfaceView as SphericalGLSurfaceView?)!!.setDefaultStereoMode( C.STEREO_MODE_MONO )替换为对应分屏模式的代码:
- 如果你的360度视频是左右拼接格式的3D视频,使用:
(player_view.videoSurfaceView as SphericalGLSurfaceView?)!!.setDefaultStereoMode( C.STEREO_MODE_LEFT_RIGHT ) - 如果是上下拼接格式的3D视频,使用:
(player_view.videoSurfaceView as SphericalGLSurfaceView?)!!.setDefaultStereoMode( C.STEREO_MODE_TOP_BOTTOM )
- 如果你的360度视频是左右拼接格式的3D视频,使用:
确认布局配置
你已经在布局中设置了app:surface_type="spherical_gl_surface_view",这个配置是正确的,无需修改,它为VR视频提供了OpenGL渲染的Surface。
如果你的视频本身是单眼360度视频(非3D),想要强制分屏让VR双眼显示相同画面,使用C.STEREO_MODE_LEFT_RIGHT也可以实现该效果,ExoPlayer会自动将单眼画面复制到左右两个视口。
内容的提问来源于stack exchange,提问作者amirhesni
相关产品推荐
相关产品推荐

