Как настроить SphericalSurfaceView в ARCore? - PullRequest
0 голосов
/ 20 апреля 2019

Я разрабатываю приложение для Android с ARCore для рендеринга видео, используя пример видео с chromakey в качестве основы.Видео в формате 360, поэтому я заменяю мультимедийный проигрыватель Android на ExoPlayer, поскольку оно поддерживает воспроизведение видео 360 в стереофоническом режиме.

Я настроил ExoPlayer для рендеринга с использованием поверхности, предусмотренной для ARCore ExternalTexture.getSurface как в примере, но, как и ожидалось, видео не воспроизводится в стереорежиме 360, для архивации требуется SphericalSurfaceView, и это моя проблема.

Как настроить SphericalSufaceView для рендеринга с использованием ARCore ExternalTexture surface?

ExternalTexture texture = new ExternalTexture();

// Create an Android MediaPlayer to capture the video on the external texture's surface.
SphericalSurfaceView view = new SphericalSurfaceView(this);

exoPlayer = ExoPlayerFactory.newSimpleInstance(this);
exoPlayer.setVideoSurface(texture.getSurface());

DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this,
    Util.getUserAgent(this, getResources().getString(R.string.app_name)));
MediaSource videoSource = new ExtractorMediaSource.Factory(dataSourceFactory).createMediaSource(
    RawResourceDataSource.buildRawResourceUri(R.raw.video_360));

exoPlayer.prepare(videoSource);
exoPlayer.setRepeatMode(Player.REPEAT_MODE_ALL);
...